Matlab入门
快捷键
- 多行注释 Ctrl+R
- 取消注释 Ctrl+T
快捷命令
- clear(清除工作区所有变量)
- clc(清除命令行所有文本)
- clear;clc(初始化)
运算符号
- .* 向量对应元素相乘
- * 向量或矩阵相乘
- ‘ 矩阵转置
- .^ 矩阵幂运算
常用函数
输入函数input
注:将输入的数、向量、矩阵、字符串等赋给一个变量
示例:
1
A = input('请输入A:')
输出函数disp
示例:
1
disp(['c的取值为' num2str(c)])
求和函数sum
注:向量直接求和,对于矩阵A
- sum(A)或sum(A,1)
按列求和(得到一个行向量) - sum(A,2)
按行求和(得到一个列向量) - sum(A(:))或sum(sum(A))
对整个矩阵求和
size函数
1 | size(A) % size(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数 |
repmat函数
1 | B = repmat(A,m,n) % 将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成 |
find函数
1 | A = find(X) % 返回向量X中不为0的元素的位置索引 |
max函数
注:若A是向量,则返回A的最大值,对于矩阵A
- M=max(A)
返回包含每一列最大值的行向量 - M=max(A,[],2)
返回包含每一行最大值的列向量 - M=max(A,[],’all’)
查找A的所有元素的最大值
zeros函数
- zeros(N)
生成一个NxN的零方阵 - zeros(M,N)
生成一个MxN的零方阵
ones函数
与zeros函数用法相同,返回的是1
sort函数
- 若A是行向量或列向量
1
sort(A) %sort(A)是默认的升序,而sort(A,'descend')是降序排序
- 若A是矩阵
1
2
3sort(A)=sort(A,1) %对A的各列进行升序排列
sort(A,2) %对A中的各行元素升序排列
[sA,index] = sort(A,'descend') %sA是排序好的向量,index是向量sA中对A的索引即sA中元素在A中原本的位置
plot函数
1
2
3
4
5
plot(x1,y1,x2,y2)
% 线方式: - 实线 :点线 -. 虚点线 - - 波折线
% 点方式: . 圆点 +加号 * 星号 x x形 o 小圆
% 颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青
%%例如:plot(x1,y1,'r-')
注:在同一个脚本文件里面,要想画多个图,需要给每个图编号
例如:
1
2
3
4figure(1);
plot(x1,y1,'r-');
figure(2);
plot(x2,y2,'k-');
mean函数
作用:求均值
mean(A)=mean(A,1)
- A为向量,返回元素均值
- A为矩阵,返回包含每列均值的行向量
mean(A,2)
返回每行均值的列向量
自定义函数
function [输出变量] = 函数名称(输入变量)
函数的中间部分都是函数体
函数的最后要用end结尾
输出变量和输入变量可以有多个,用逗号隔开
例如:
1
2
3
4
5function [a,b,c]=test(d,e,f)
a=d+e;
b=e+f;
c=f+d;
end
注:自定义的函数要单独放在一个m文件中,文件名为“函数名.m”,不可以直接放在主函数里面
提取矩阵中指定位置的元素
- 取指定行和列的一个元素(输出的是一个值)
A(m,n)
m行n列的元素 - 取指定的某一行的全部元素(输出的是一个行向量)
A(2,:)
矩阵A第二行组成的向量 - 取指定的某一列的全部元素(输出的是一个列向量)
A(:;2)
矩阵A第二列组成的向量 - 取指定的某些行的全部元素(输出的是一个矩阵)
A([2,5],:)
只取第二行和第五行(一共2行)
A(2:5,:)
取第二行到第五行(一共4行)
A(2:2:5,:)
取第二行和第四行 (从2开始,每次递增2个单位,到5结束)
A(2:end,:)
取第二行到最后一行
A(2:end-1,:)
取第二行到倒数第二行 - 取全部元素(按列拼接的,最终输出的是一个列向量)
A(:)
矩阵的运算
- A的逆矩阵:inv(A)
- “/“代表矩阵之间的除法(A/B=A*inv(B))
- 两个形状相同的矩阵对应元素之间的乘除法需要使用“.”和“./”
A . B - 每个元素同时和常数相乘或相除操作都可以使用
A 2=A . 2 - 每个元素同时乘方时只能用 .^
A .^ 2
而A ^ 2 =A * A
求特征值和特征向量
- E=eig(A)
求矩阵A的全部特征值,构成向量E - [V,D]=eig(A)
求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)
矩阵与常数的大小判断运算
共有三种运算符:大于> ;小于< ;等于 == (一个等号表示赋值;两个等号表示判断)
例如:
X = [1 -3 0;0 0 8;4 0 6]
X与常数进行判断时,结果的阶数不变,但只有0和1两种元素,0代表不满足,1代表满足