资源描述
一、Matlab的变量与常量
Matlab中变量和常量存储都是相应的数据。
数据类型:基本类型、构造类型、符号对象
基本类型:数字型、字符串型
数字型:整型、浮点型
整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)
浮点型:单精度(32位)、双精度(64位)
基本类型:数组类型(常见)、细胞类型、结构类型、类类型
符号对象(比较少见)
变量:在运算过程中其数值可以改变的量;
常量:在运算过程中其数值不改变的量。
变量命名规则:
变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字(常量)和函数名相同的名字,容易出错。
MATLAB是区分大小写的,变量名可以是任意长度。
Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。
变量初始化:
1、采用赋值语句初始化变量;
2、用input函数从键盘输入初始化变量,如下:
3、matlab已经定义好了的一些常量:
I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。
二、 matlab的基本数据结构
标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab常用的是二维矩阵;标量1*1的矩阵;向量可以看成是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行:
指定生成某种矩阵
矩阵的行拼接列拼接:
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、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
注:linspace(5,100,20)和5:5:100的区别在于前者已知元素总个数而不知道步长,后者已知步长不知元素个数,这两者的效果是一样的。
logspace函数
用法:x=logspace(a, b, n)
功能:logspace(a, b, n)生成一个(1xn)数组,数据的第一个元素值为a,最后一个元素为b,n是总采样点数。需要注意的是,此时产生的数组元素在10^a 到10^b上并不是均匀分布的,而形成一个对数曲线。
reshape的用法
date,clock,year,month,now,today的用法
四、 matlab中的算术运算符
标量运算
矩阵预算
数组运算
运算优先级
标量:亦称“无向量”。有些物理量,只具有数值大小,而没有方向,部分有正负之分。物理学中,标量(或作纯量)指在坐标变换下保持不变的物理量。用通俗的说法,标量是只有大小,没有方向的量。
+ - * / \ ^
矩阵:由 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, inv, det, rank, eig, trace (对矩阵进行运算)
圆整
ceil 朝着正无穷圆整
floor 朝着负无穷圆整
fix 朝着0圆整
round 四舍五入整
mod 取模函数
rem 除取余
mod 除取整
mean按列求平均值
prob接地
Sum(x,dim)dim=1按列 2按行求和
conv 可以做多项式乘法
比如,(X^6+X^4+7X+4)*(X^5+X^3+3X+1)用conv函数展开:
复数
六、 matlab的字符串及其运算
ASCII码:American Standard Code for Information Interchange的缩写
字符串的数组本质
字符串的生成:单引号法,数组法
字符串的转换: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)
Fprint(format, data)
二维字符串
Strvcat, str2mat
Strcmp(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,hold
plot:matlab 中最简单的绘图命令。
legend(‘在右上角对不同的曲线插入相应的图例’)
九、 绘图属性的控制
plot,semilogx,semilogy,loglog,legend,title,grid,xlabel,ylable,hold
线型,颜色,线宽的控制
十、 图形窗口菜单及其对数坐标
Semilogx,semilogy,loglog
展开阅读全文