矩阵操作
1 2 3 4 5
| A=[1 2 3 ; 4 5 6 ; 7 8 9] B=A’ C=A(:) D=inv(A) F=det(A)
|
多维矩阵
1 2 3 4 5 6 7 8 9 10 11
| C=zeros(5,4,3)
C(:,:,1)=rand(5,4)
E(:,:,3)=randi([iMin,iMax]5,4)
E(:,:,2)=randn(5,4)
|

A=1:2:9
输出1 3 5 7 9,中间的2是步长
repmat ones zeros
1 2 3 4
| B=eye(3); C=repmat(B,3,2) D=ones(3,2) D=zeros(3,2)
|
矩阵四则运算
1 2 3 4 5
| A=[1 2 3;4 5 6] D=A+A B=A*A' C=A.*A E=A/A
|
矩阵的下标
1 2 3 4
| A=magic(5) B=A(3,:) C=A(:,4) [M,N]=find(A>18)
|
MATLAB的数组是从“1”开始
元胞数组
1 2 3 4
| A=cell(4) A=cell(1,4) A{1,1}=magic(5) A{1,2}=eye(3)
|

程序结构
for循环
1 2 3
| for i=1:1:5 xxxxxxxxxxx end
|
while循环
eg: 求1+2+3……+10的和
1 2 3 4 5 6
| a=0; contain=0; while a<10 a=a+1 contain=contain+a end
|
if/else
1 2 3 4 5
| if a>b xxxxxxxxxxx else xxxxxxxxxxx end
|
二维图
1 2 3 4 5 6 7 8
| x=0:0.01:2*pi; y=sin(x) figure plot(x,y) title('sinx') xlabel('x') ylabel('y') xlim([0 2*pi])
|
双曲线二维图
1 2 3 4 5
| x=0:0.01:20; y1=sin(x); y2=cos(x); figure [AX,H1,H2]=plotyy(x,y1,x,y2);
|
plotyy
plotyy返回三个值:
第一个是控制两个坐标轴的id,AX,其实有两个,分别是AX1和AX2。
第二个和第三个分别是控制两条曲线的id,分别是H1和H2。
set
书接上文,set可以对AX,H1,H2进行控制。
1 2 3 4 5 6 7 8 9
| set(AX,'fontsize',14) set(H1,'color','r','lineStyle','--')
set(H2,'Color','b','LineStyle',':')
set(get(AX(1),'ylabel'),'string','sinx曲线')
set(get(AX(2),'ylabel'),'string','cosx曲线')
|
三维图
1 2 3 4 5 6 7 8 9
| x=0:0.01:20*pi; y=sin(x); z=cos(x); figure plot3(x,z,y) xlabel('x') ylabel('sinx') zlabel('cosx') grid on
|
peaks
1 2 3
| [X,Y,Z]=peaks(30); mesh(X,Y,Z) grid
|

meshgrid
meshgrid 的作用就是:
它把一维的 a 和 b,复制粘贴成了二维的平面 X 和 Y,让每一个点都有了自己的坐标。
1 2 3 4 5 6
| a=-2:0.1:2; b=-2:0.1:2; [X,Y]=meshgrid(a,b); Z=X.^2+Y.^2; surf(X,Y,Z) grid
|
