1、一、Matlab的变量与常量Matlab中变量和常量存储都是相应的数据。数据类型:基本类型、构造类型、符号对象 基本类型:数字型、字符串型数字型:整型、浮点型 整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)浮点型:单精度(32位)、双精度(64位) 基本类型:数组类型(常见)、细胞类型、结构类型、类类型 符号对象(比较少见)变量:在运算过程中其数值可以改变的量;常量:在运算过程中其数值不改变的量。变量命名规则: 变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字
2、(常量)和函数名相同的名字,容易出错。 MATLAB是区分大小写的,变量名可以是任意长度。 Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。变量初始化: 1、采用赋值语句初始化变量; 2、用input函数从键盘输入初始化变量,如下: 3、matlab已经定义好了的一些常量: I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。二、 matlab的基本数据结构 标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab常用的是二维矩阵;标量1*1的矩阵;向量可以看
3、成是1行或者1列的矩阵;向量是数学中的说法,数组是matlab语言中的说法,但向量和数组在这里指的是同一种数据结构,可以互用。手动生成矩阵: 行矩阵:a = 1 2 3 列矩阵:b = 1 2 3 或 b = 1;2;3 2*2矩阵:c = 1 2;3 4使用内置函数生成矩阵:常用的有 ones,eye,zeros,size,length.利用冒号表达式生成矩阵: 冒号:用来生成向量,定义数组下标,数组的循环迭代。生成航向量:生成列相量:引用矩阵或矩阵中的元素:举证可以看成一个一位数组,按列从左至右,从上往下依次排列。冒号当作下标e(:,2) :代表全部行元素,2代表第2列引用第3列2-4行:
4、指定生成某种矩阵矩阵的行拼接列拼接:Size函数:返回矩阵行列对应的维数;length函数返回行列维数最大的那个值三、 matlab中的空数组和子数组子数组的概念子数组的赋值与数组直接赋值的区别end的用法Linspace,logspace,reshape预定义变量:date,clock,year,month,now,today(和日期处理有关)空数组子数组Linspace函数用法:linspace(x1,x2,N) (linspace(x1,x2)默认生成包括x1和x2的100个数)功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2
5、、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。注:linspace(5,100,20)和5:5:100的区别在于前者已知元素总个数而不知道步长,后者已知步长不知元素个数,这两者的效果是一样的。logspace函数用法:x=logspace(a, b, n)功能:logspace(a, b, n)生成一个(1xn)数组,数据的第一个元素值为a,最后一个元素为b,n是总采样点数。需要注意的是,此时产生的数组元素在10a 到10b上并不是均匀分布的,而形成一个对数曲线。reshape的用法date,clock,year,month,now,today的用法四、 matlab中的算术
6、运算符标量运算矩阵预算数组运算运算优先级标量:亦称“无向量”。有些物理量,只具有数值大小,而没有方向,部分有正负之分。物理学中,标量(或作纯量)指在坐标变换下保持不变的物理量。用通俗的说法,标量是只有大小,没有方向的量。 + - * / 矩阵:由 m n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m n矩阵。magic函数:生成魔方矩阵 矩阵运算: A+B A-B A*B A/B A.*B A./B 五、 matlab中常见的运算函数三角、反三角函数,指数、对数函数,圆整函数、绝对值,sum, prod, max, min复数取实部、虚部、取模Cross, dot, compan,
7、 inv, det, rank, eig, trace (对矩阵进行运算)圆整 ceil 朝着正无穷圆整floor 朝着负无穷圆整fix 朝着0圆整round 四舍五入整 mod 取模函数rem 除取余mod 除取整mean按列求平均值prob接地Sum(x,dim)dim=1按列 2按行求和conv 可以做多项式乘法比如,(X6+X4+7X+4)*(X5+X3+3X+1)用conv函数展开:复数 六、 matlab的字符串及其运算ASCII码:American Standard Code for Information Interchange的缩写字符串的数组本质字符串的生成:单引号法,数组
8、法字符串的转换:abs, double, char, str2num, num2str, upper, lower字符串:本质是一个字符数组。其他语言中也有。字符经过编码以数字的形式编在电脑里,这种编码形式就是ASCII码。字符串的生成:单引号法,数组法。字符串的转换:abs 将字母转成数字。double 功能类似。char 将字母转成字母。 str2num, num2str, upper, lower这种方法比较迂回,matlab中有函数直接转换 七、 字符串函数及二维字符串Strcmp(S1,S2), findstr(S, S), strcat(S1, S2), disp(str)Fpri
9、nt(format, data)二维字符串Strvcat, str2matStrcmp(S1,S2) S1,S2两个函数相同则为1,不同则为0 Strcmp(S1,S2,n)比较前n个字符 findstr(S1, S) 将S1中所有的S以形式的形式返回 strcat(S1, S2) 将两个字符进行拼接;利用矩阵形式进行拼接也可以;当两个字符串长度不一样是不可以S1, S2这样拼接。 disp(str) 将字符串原样输出二维字符串的生成:维度不一的时候用空格补齐,这种方法比较麻烦。Strvcat 字符串纵向拼接 str2mat与之类似,区别在于str2mat会将空字符生成空行,而前者会直接将其忽略。八、 绘图入门其他语言绘图特别繁琐,而matlab绘图特别方便简洁。plot,semilogx,semilogy,loglog,legend,title,grid,xlabel,ylable,holdplot:matlab 中最简单的绘图命令。legend(在右上角对不同的曲线插入相应的图例) 九、 绘图属性的控制plot,semilogx,semilogy,loglog,legend,title,grid,xlabel,ylable,hold线型,颜色,线宽的控制十、 图形窗口菜单及其对数坐标Semilogx,semilogy,loglog