Matlab简介
绘制三维图像
[x,y]=meshgrid(-3:1/5:3);
z=peaks(x,y);
surfl(x,y,z);
shading interp
colormap(colorcube)
axis([-3 3 -3 3 -8 8])
peaks函数
Z = peaks
Z = peaks(n)
Z = peaks(Xm,Ym)
[X,Y,Z] = peaks(___)
peaks(___)
-
Z = peaks 返回在一个 49×49 网格上计算的 peaks 函数的 z 坐标。
-
Z = peaks(n) 返回在一个 n×n 网格上计算的 peaks 函数。如果将 n 指定为长度为 k 的向量,则 MATLAB®
将在一个 k×k 网格上计算该函数。 -
**Z = peaks(Xm,Ym) 返回在 Xm 和 Ym 指定的点上计算的 peaks 函数。Xm 和 Ym的大小必须相同或兼容。**例如,您可以将 Xm 和 Ym 指定为 meshgrid 格式的矩阵。
-
[X,Y,Z] = peaks(___) 返回 peaks 函数的 x、y 和 z 坐标。
绘制三角函数
x=linspace(0,6);
y1=sin(2*x);
y2=sin(x.^2);
y3=sin(x).^2;
plot(x,y1,x,y2,x,y3)
变量使用点乘 .^
matlab常用窗口操作命令
MATLAB命令行窗口显示数据的格式
常用的MATLAB控制指令
操作帮助的函数
Matlab语言基础
Matlab 数据类型
- 数据类型分为:基本型、构造型、符号对象。
- 基本型包括数值型(整型:无符号型、有符号型;浮点型:单精度型、双精度型)、字符串型。
- 构造型包括数组型、细胞型、结构型、类类型。
- MATLAB默认数值类型为双精度浮点型数据。
Matlab中经常使用的一些常量
算数运算符
数组运算符(点运算)
数组运算是指数组对应元素之间的运算, 其运算符是在有关算术运算符前面加点,所以也叫点运算。点运算符有.*、./、.\、 .^和.’。
对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符。
向量运算
向量生成
linspace 的基本语法
X=linespace(a1,an,n)
a1为向量的第一个元素,an为向量的最后一个元素,n为向量具有的元素个数,函数将根据n的数值平均计算元素之间的间隔,间隔计算公式为
若在表达式中忽略参数n,则系统默认地将向量设置为100个元素
向量的点、叉积运算
叉积运算
在数学描述中,向量A、B的叉积是一个新向量C,C的方向垂直于A与B所决定的平面。
叉积的函数是:cross(A,B),该函数计算的是A、B叉积后各分量的元素值、且A、B只能是三维向量。
用三维坐标表示时
混合积运算
综合运用前述二函数就可实现点积和叉积的混合运算,本运算也只能发生在三维向量之间。
A=[1 2 3],B=[3 3 4],C=[3 2 1]
D=dot(C,cross(A,B))
A =
1 2 3
B =
3 3 4
C =
3 2 1
D =
4
矩阵运算
矩阵元素的存储次序
MATLAB规定矩阵的元素在存储器中的存放次序是按列的先后顺序存放即存完第一列后,再存第二列,依次类推。
sub2ind:根据全下标计算单下标
ind2sub:根据单下标计算全下标
矩阵生成
函数法
拼接函数和变形函数法
拼接函数是用cat和repmat将多个或单个小矩阵沿行、或沿列方向拼接成一个大矩阵。
C = cat(dim, A, B)
B = repmat(A,m,n)
实例:
A = magic(3)
B = pascal(3)
C1 = cat(1, A, B)
C2 = cat(2, A, B)
D = repmat(eye(2),3,4)
变形函数法
reshape函数的使用格式是:reshape(A,m,n),m和n分别是变形后新矩阵的行列数。
A=linspace(2,18,9)
B=reshape(A,3,3)
a=20:2:24
b=a'
C=[B b]
D=reshape(C,4,3)
矩阵的代数运算
矩阵加、减运算 (A+B、A-B)
规则:
相加、减的两矩阵必须有相同的行和列,两矩阵对应元素相加减。
MATLAB允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。
矩阵乘运算
AB:A矩阵的列数必须等于B矩阵的行数。
sA 或 A*s:标量可与任何矩阵相乘,标量s分别与矩阵A每个元素相乘。
矩阵乘方
A^n —— A自乘n次幂
>> a = [ 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ];
>> a^2
ans =
30 36 42
66 81 96 102 126 150
数组运算
它的与众不同在于其运算法则是针对其中每一个元素的,数组之间的运算讲究元素的一一对应,因而数组之间的加减乘除就直接在元素之间对应展开,而无需用到循环语句。
数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同。
基本数学函数
与逻辑运算相关的函数
矩阵与数组的区别
分析数组代数运算的上述实例之后,再与矩阵运算相比较,一个深刻的印象便是两个数组之间的运算,不论它是加减、还是乘除,讲究的是元素一对一的运算。而数乘、数除和幂运算也是将一个单数(或幂)分配到数组的每个元素中(或上)。开方、指数和对数还是将执行相应运算的函数作用于每个数组元素上。
但是矩阵则不然,除了矩阵加减法要求元素的一一对应之外,矩阵的乘法、除法、乘幂、开方、指数和对数都是将矩阵视为一个整体参与运算。导致这种区别的原因在于矩阵运算采用的是线性代数法则,而线性代数中矩阵本身就不是一个单纯数的集合,矩阵已经失去了单纯数的性质而呈现自身的特点。但数组完全是将一些单纯的数汇集起来,让它们批量地参与运算
字符串运算
使用char函数可以将数值转变为字符
使用double函数可以将字符转变成数值