MATLAB学习
一、%:注释
二、数据类型
1.字符与字符串
abs(a):ASCLL码
char(97):转为字符
num2str():转为数字
2.矩阵
(1)矩阵定义:A = [1 2 3 : 4 5 6 : 7 8 9]
(2)矩阵转置:A'
(3)矩阵竖向拉长:A(:)
(4)矩阵求逆:inv(A)
(5)创建0矩阵:E=zeros(10,5,3)10行5列的三维矩阵
E(:,:,1)=rand(10,5)
(6)矩阵的定义与构造
A=[1 2 3 5 8 9]
B=1:2:9,从1到9,步长为2
C=repmat(B,3,3):将矩阵B横着重复三次竖着也重复三次
D=ones(2,4):生成一个2行4列的矩阵所有元素均为1
(7)矩阵的四则运算
+:加
-:减
*:矩阵相乘
.*:按照元素相乘
/:除,乘以矩阵的逆
./:按照元素相除
(8)矩阵的下标
A(2,3):取第二行第三列
A(2:4):取第二行所有列
[m,n]=find(A>10):找到满足条件的矩阵的元素的索引
3.元胞数组:A=cell(1,6)
A(2)=eye(3)
A(5)=nagic(5)
4.结构体:struct('name',{{'ML','DM'}},'price',[30,40]),相当于字典
三、常用函数
1.rand(m,n):生成m行n维,分布在(0,1)的均匀伪随机数
2.randn(m,n):生成标准正态分布的伪随机数(均值为0,方差为1)
3.randi(iMin,iMax):生成均匀分布的伪随机数
4.eye(n):生成n维的单位向量
5.magic(n):生成幻方,例如n=3,生成一个3*3的矩阵,有1~9共9个数字,横、竖、斜相加和相同
6.[x,y,z]=peaks(30):产生双峰函数
7.inputdlg():创建并打开输入对话框
四、逻辑与流程控制
1.循环
(1)
for 循环变量=初值:步长:终值
执行语句1;
......
执行语句n;
end
(2)
while 需要满足的条件:
执行语句;
end
2.条件
(1)
if 条件表达语句:
语句体;
end
(2)
if 条件表达
语句体;
else 条件表达
语句体;
end
(3)
switch 表达式()
case 条件1
语句体1;
case 条件2
语句体2;
......
otherwise
语句体;
end
五、绘图
1.二维绘图
x= 0:0.01:2*pi y=sin(x) figure%建立一个幕布 plot(x,y)%绘制二维平面图 title('y=sin(x)') xlabel('x') ylabel('sin(x)') xlim([0 2*pi]) x=0:0.01:20 y1=200*exp(-0.05*x).*sin(x) y2=0.8*exp(-0.5*x).*sin(10*x) figure [AX,H1,H2]=plotyy(x,y1,x,y2,'plot') set(get(AX(1),'Ylabel'),'String','Slow Decay') set(get(AX(2),'Ylabel'),'String','Fast Decay') xlabel('Time (\musec)') title('Multiple Decay Rates') set(H1,'LineStyle','-') set(H2,'LineStyle',':')
2.三维绘图
figure t=0:pi/50:10*pi plot3(sin(t),cos(t),t) xlabel('sin(t)') ylabel('cos(t)') zlabel('t') grid on%有网格 axis square%变成正方形
3.图形保存与导出