matlab数组基本运算

matlab的索引从1开始

定义一个三行四列的矩阵如下

1
2
3
4
5
6
7
>> a=[1,2,1,3; 2,6,5,7; 7,3,2,0]

a =

1 2 1 3
2 6 5 7
7 3 2 0

获取矩阵尺寸

1
2
3
4
5
>> size(a)

ans =

3 4

取2-4列所有元素

1
2
3
4
5
6
7
>> a(:,2:4)

ans =

2 1 3
6 5 7
3 2 0

取1-2行2-4列的所有元素

1
2
3
4
5
6
>> a(1:2,2:4)

ans =

2 1 3
6 5 7

取2-最后一列的所有元素

1
2
3
4
5
6
7
>> a(:,2:end)

ans =

2 1 3
6 5 7
3 2 0

给第2和第3列所在所有行的元素赋值0

1
2
3
4
5
6
>> a(:,2:3)=0

a =
1 0 0 3
2 0 0 7
7 0 0 0

e1:e2

表示从e1到e2,均为闭

e1: e2 :e3

表示e1为初值,e2为步长,e3为终止值,均为闭

1
2
3
4
5
6
7
>> A = [ 1 2 3; 4 5 6; 7 8 9]

A =

1 2 3
4 5 6
7 8 9

矩阵沿着垂直Y方向翻转

1
2
3
4
5
6
7
>> A(:,end:-1:1) % 相当于对列号倒序遍历

ans =

3 2 1
6 5 4
9 8 7

矩阵沿水平X方向翻转

1
2
3
4
5
6
7
>> A(end:-1:1,:)

ans =

7 8 9
4 5 6
1 2 3

前后左右均翻转

1
2
3
4
5
6
7
>> A(end : -1 : 1, end : -1 : 1) 

ans =

9 8 7
6 5 4
3 2 1

按列循环右移一列

1
2
3
4
5
6
7
>> circshift(A,[0,1])

ans =

3 1 2
6 4 5
9 7 8

其他命令

1)【↑、↓】——切换到之前、之后运行过的命令,可以重复按多次来达到你想要的命令;

2.【Tab】——自动补全。在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出以前面这几个字符开头的所有命令,找到你要的命令,回车,就可以自动完成;

3.【Ctrl + C/Break】——在Matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入 “Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉,不过进行此操作的前提是能够激活切换到命令窗口才行;

  1. clc 清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉;

  2. clear 这个才是清空当前工作区的变量命令,常用语句clear all来完成。

2D绘图

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式

plot(x,y)     其中x,y为长度相同的向量,存储x坐标和y坐标。

1
2
3
x=[0,1,2,3,4];
y=[0,1,1,3,3];
plot(x,y)

绘制动画

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for i=-5:0.01:5
t=-pi:pi/100:pi;
x=sin(i*t);
y=sin(4*t);
plot(x,y);
drawnow limitrate;
end


for i=-5:0.01:5
t=-pi:pi/100:pi;
x=sin(i*t);
y=sin(4*t);
z=sin(5*t);
plot3(x,y,z);
drawnow limitrate;
end
线型 颜色 标记符号
- 实线 b蓝色 .   点 s 方块
: 虚线 g绿色 o 圆圈 d 菱形
-. 点划线 r红色 × 叉号 ∨朝下三角符号
– 双划线 c青色 + 加号 ∧朝上三角符号
m品红 * 星号 <朝左三角符号
y黄色 >朝右三角符号
k黑色 p 五角星
w白色 h 六角星