快捷键

  1. 多行注释 Ctrl+R
  2. 取消注释 Ctrl+T

快捷命令

  1. clear(清除工作区所有变量)
  2. clc(清除命令行所有文本)
  3. clear;clc(初始化)

运算符号

  • .* 向量对应元素相乘
  • * 向量或矩阵相乘
  • ‘ 矩阵转置
  • .^ 矩阵幂运算

常用函数

输入函数input

  注:将输入的数、向量、矩阵、字符串等赋给一个变量
  示例:

1
A = input('请输入A:')

输出函数disp

  示例:

1
disp(['c的取值为' num2str(c)])

求和函数sum

  注:向量直接求和,对于矩阵A

  1. sum(A)或sum(A,1)
    按列求和(得到一个行向量)
  2. sum(A,2)
    按行求和(得到一个列向量)
  3. sum(A(:))或sum(sum(A))
    对整个矩阵求和

size函数

1
2
size(A) % size(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素是矩阵的列数
[r,c] = size(A) % 将矩阵A的行数返回到第一个变量r,将矩阵的列数返回到第二个变量c

repmat函数

1
B = repmat(A,m,n) % 将矩阵A复制m×n块,即把A作为B的元素,B由m×n个A平铺而成

find函数

1
2
3
4
5
6
A = find(X) % 返回向量X中不为0的元素的位置索引
A = find(X,2) % 返回向量前2个不为0的元素的位置
%% 在Matlab中,矩阵里的元素是一列一列存储
[r,c] = find(X) % r与c都为列向量,且阶数相同,r代表行,c代表列
%%例如r=[1,2],c=[2,3],则代表矩阵X的1行2列,2行3列的元素不为零
[r,c] = find(X,1) %只找第一个非0元素

max函数

  注:若A是向量,则返回A的最大值,对于矩阵A

  1. M=max(A)
    返回包含每一列最大值的行向量
  2. M=max(A,[],2)
    返回包含每一行最大值的列向量
  3. M=max(A,[],’all’)
    查找A的所有元素的最大值

zeros函数

  1. zeros(N)
    生成一个NxN的零方阵
  2. zeros(M,N)
    生成一个MxN的零方阵

ones函数

  与zeros函数用法相同,返回的是1

sort函数

  1. 若A是行向量或列向量
    1
    sort(A) %sort(A)是默认的升序,而sort(A,'descend')是降序排序
  2. 若A是矩阵
    1
    2
    3
    sort(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
4
figure(1);
plot(x1,y1,'r-');
figure(2);
plot(x2,y2,'k-');

mean函数

  作用:求均值

  • mean(A)=mean(A,1)

    1. A为向量,返回元素均值
    2. A为矩阵,返回包含每列均值的行向量
  • mean(A,2)
    返回每行均值的列向量

自定义函数

  function [输出变量] = 函数名称(输入变量)
  函数的中间部分都是函数体
  函数的最后要用end结尾
  输出变量和输入变量可以有多个,用逗号隔开
  例如:

1
2
3
4
5
function [a,b,c]=test(d,e,f)
a=d+e;
b=e+f;
c=f+d;
end

  注:自定义的函数要单独放在一个m文件中,文件名为“函数名.m”,不可以直接放在主函数里面

提取矩阵中指定位置的元素

  1. 取指定行和列的一个元素(输出的是一个值)
    A(m,n)
    m行n列的元素
  2. 取指定的某一行的全部元素(输出的是一个行向量)
    A(2,:)
    矩阵A第二行组成的向量
  3. 取指定的某一列的全部元素(输出的是一个列向量)
    A(:;2)
    矩阵A第二列组成的向量
  4. 取指定的某些行的全部元素(输出的是一个矩阵)
    A([2,5],:)
    只取第二行和第五行(一共2行)
    A(2:5,:)
    取第二行到第五行(一共4行)
    A(2:2:5,:)
    取第二行和第四行 (从2开始,每次递增2个单位,到5结束)
    A(2:end,:)
    取第二行到最后一行
    A(2:end-1,:)
    取第二行到倒数第二行
  5. 取全部元素(按列拼接的,最终输出的是一个列向量)
    A(:)

矩阵的运算

  1. A的逆矩阵:inv(A)
  2. “/“代表矩阵之间的除法(A/B=A*inv(B))
  3. 两个形状相同的矩阵对应元素之间的乘除法需要使用“.”和“./”
    A .
    B
  4. 每个元素同时和常数相乘或相除操作都可以使用
    A 2=A . 2
  5. 每个元素同时乘方时只能用 .^
    A .^ 2
    而A ^ 2 =A * A

求特征值和特征向量

  1. E=eig(A)
    求矩阵A的全部特征值,构成向量E
  2. [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代表满足