MATLAB的基本元素
MALTAB程序的基本数据单元是数组,MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待。要注意的是:确保你所声明的变量名前31 个字符是独一无二的。否则,MATLAB 将无法辨认出它们的不同。
好的编程习惯:给你的变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以exchange_rate为变量名。这种方法将使得你的程序更加明确且易于理解。
给每个程序创建一个数据字典以增强程序的可维护性。
在每次用到一个变量时,我们要确保变量名的大小写的精确匹配。在变量名中只使用小写字母是一个好的编程习惯。
在用赋值语句初始化变量时,每一行元素的个数必须完全相同,每一列元素的个数也必须完全相同.试图创建一个不同行(列)拥有不同数目元素的数组,在编译时将会出现错误.
在每个赋值语句末的分号有特殊的目的:无论在何时一个表达式在赋值语句中被赋值,分号将会中止变量值的重复。如果句末没有分号,变量值将会自动显示在命令窗口(TheCommand Windows)中。好的编程习惯在MATLAB 赋值语句后加上一个分号来禁止变量值在命令窗口(The CommandWindows)的重复。这将大大提高编译的速度。
****用内置函数来初始化
****多维数组在内存中的存储:MATLAB 的特性之一就是它允许使用者或程序员把一个多维数看作一个一维数组,这个一维数组的长度等于多维数组的元素数。如果用一个下标访问一个多维数组,那么元素的排列顺序就是内存的分配顺序。所以在编程时,在访问多维数组时,要总是使用合适的维数。
****end函数:MATLAB 中有一个特殊的函数叫做end 函数,对于创建子数组的下标非常的有用.当用到一个函数的下标时,end 函数将会返回下标的最大值.注意。。。
所以不要重定义有意义的预定义变量。否则将后患无穷,制造成出小而难以发现的错误。
******显示输出数据:在 MATLAB 中有许多的方法显示输出数据。最简单的方法是我们已经用过的去掉语句末的分号,它将显示在命令窗口(The Command Windows)中。
****disp 函数:disp 需要一个数组参数,它将值将显示在命令窗口(The Command Windows)中。如果这个数组是字符型(char),那么包含在这个数组中的字符串将会打印在命令窗口(The Command Windows)中。
用fprintf 函数格式化输出数据:。fprintf 函数显示带有相关文本的一个或多个值,允许程序员控制显示数据的方式。它在命令窗口打印一个数据的一般格式如下:
fprint(format,data){其中format 用于代表一个描述打印数据方式的子符串,data 代表要打印的一个或多个标量或数组。format 包括两方面的内容,一方面是打印内 容的文本的提示;另一方面是打印的格式}
fprintf 函数有一个重大的局限性,只能显示复数的实部。当我们的计算结果是复数时,这个局限性将会产生错误。在这种情况下,最好用disp 显示数据。
数据文件:save 和load 命令。
save 命令用于保存当前MATLAB 工作区内的数据到一个硬盘文件。这个命令的基形式如下:save filename var1 var2 var3;filename 代表你要保存变量的那个文件,var1,var2 等是要保存的变量。在默认情况下,这个这个文件的扩展名为‘mat’,我们称之为MAT 文件。如果在filename 后面无变量,则工作区的所有内容将会被保存。
***如果数据需要在MATLAB 和其他程序之间交换使用,那么以ASCII 格式存储数据。如果只在MATLAB 中使用那么,应以mat 文件的形式存储数据。
以“dat”的扩展名保存ASCII 数据文件,以区别于以“mat”为扩展名的mat 文件。
Load 命令与save 命令相反。它从硬盘文件加载数据到MATLAB 当前工作区。这个命令的基本格式为 load filename{如果这个文件是mat 文件,那么所有被子加载的变量的变量名的变量类型将和原来一样。如果一个变量包含在工作区间窗口,那么这些数据将会被修复。}
数组运算和矩阵运算:
常见的MATLAB 函数:注意与大多数的计算语言不同,许多的MATLAB 函数能够正确计算出复数结果.MATLAB 自动计算出正确的结果,尽管其结果可能是虚数和复数
总结: 1. 尽可能的使用有意义的变量名,一眼就可以看懂,像day,month,year.
2. 给每一个程序创建一个数据字典,以提高程序的可维护性.
3. 变量名一律用小写字母,这样可以不会因大小写不同而造成变量混淆。
4. 在所有的MATLAB 赋值语句的后面加上一个分号,用来禁止赋值的重复.在程序调试期间,如果你检验检某个语句的值,可去掉语句后的分号.
5. 如果要在MATLAB 和其他程序之间交换数据,那么就要以ASCII 格式存储数据.如果数据只应用在此MATLAB 中那么,应以matfile格式存储数据.
6. 以”dat”为扩展名保存ASCII 数据以区分MAT 文件,MAT 文件的扩展名为mat.
7. 用适当的括号使你的表达式清晰,易理解.
8. 当你读取和写入数据时,使用适当的单位
MATLAB的基本元素的更多相关文章
- matlab神经网络实验
第0节.引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集.Iris数据集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set ...
- 神经网络及其简单实现(MATLAB)
转自:http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html 第0节.引例 本文以Fisher的Iris数据集作为神经网络程序的测试 ...
- bp神经网络及matlab实现
本文主要内容包含: (1) 介绍神经网络基本原理,(2) AForge.NET实现前向神经网络的方法,(3) Matlab实现前向神经网络的方法 . 第0节.引例 本文以Fisher的Iris数据集 ...
- 05. Matplotlib 1 |图表基本元素| 样式参数| 刻度 注释| 子图
1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表 ...
- Matlab 常用绘图指令(二维图形)
使用matlab的时候常常会忘掉一些指令,每次都要重新查找,挺麻烦的,这里收集一些常用的绘图指令,供自己和大家以后方便查找和使用. 1.例子-包含了常用绘图命令 clear clc %%数据准备 x ...
- MATLAB 中gcf、gca 以及gco 的区别
MATLAB 中gcf.gca 以及gco 的区别gcf 返回当前Figure 对象的句柄值gca 返回当前axes 对象的句柄值gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意 ...
- Matlab与神经网络入门
第一节.神经网络基本原理 1. 人工神经元( Artificial Neuron )模型 人工神经元是神经网络的基本元素,其原理可以用下图表示: 图1. 人工神经元模型 图中x1~xn是从其他神经 ...
- 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)
博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞
- Matlab 绘制三维立体图(以地质异常体为例)
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
随机推荐
- 【原】Storm基本概念
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Topologies Streams Spouts Bolts Stream groupings Reli ...
- NOIP2003 传染病控制
题四 传染病控制 [问题背景] 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国 大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完 全认 ...
- dataStructure@ Check if a directed graph has cycles
#include<iostream> #include<cstdio> #include<cstring> #include<limits> #incl ...
- 如何利用多核CPU来加速你的Linux命令
原文出处: rankfocus 译文出处: 外刊IT评论 你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能 ...
- [iOS基础控件 - 6.8] 各种数据类型的@property属性
A.内存管理 NSString: copy 基本数据类型.结构体(int, CGFloat, BOOL, CGRect等):assign 对象(如自定义model类型.NSArray.NSDictio ...
- Qt QDebug :Cannot retrieve debugging output!
调试Qt程序时用Qdebug类输出调试信息: qDebug("read My Com"); 这个问题是个小问题,其实跟程序没关系.当你同时开多个Qt程序(Creator编程 ...
- hdu 4607 (树形DP)
当时比赛的时候我们找出来只要求出树的最长的边的节点数ans,如果要访问点的个数n小于ans距离直接就是n-1 如果大于的话就是(n-ans)*2+ans-1,当时求树的直径难倒我们了,都不会树形dp ...
- SQLite使用教程7 删除表
http://www.runoob.com/sqlite/sqlite-drop-table.html SQLite 删除表 SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据 ...
- Android v4 包和v7包问题
昨天新建了一个android项目,加入了一个bootstrap的外部依赖和一个底部导航栏的外部依赖.结果jj 了,老是提醒我v4包v7包冲突: 事实是这样的,首先我的底部导航依赖库里面有一个v4包,那 ...
- linux tomcat自启动设置
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...