matlab基础知识

1、新建脚本,是指新建一个以.m结尾的文件

2、语句后加分号表示不显示运行结果

3、多行注释 Ctrl+R

  取消注释 Ctrl+T

4、clear 清除工作区所有变量

  clc 清空命令行窗口

  clear:clc 初始化

5、disp 输出函数 用法:disp("输出内容");

  input 输入函数 用法:A=input("请输入A:"); % 可输入数字、向量、字符串

6、strcat(str1,str2,...,strn) % 合并字符串

  或者用[str1,str2,...,strn] [str1 str2 ... strn]

7、num2str 将数字转化为字符串

  c=100;disp([\'c的取值为\',num2str(c)]);

8、向量与矩阵

1)向量

  a=[1,2,3]; a=[1 2 3] % 均为行向量

  a=[1;2;3] % 列向量,分号用来分割每一行的元素

2)矩阵

  A=[1,1,4,1/3,3;

   1,1,4,1/3,3;

    1/4,1/4,1,1/3,1/2;

    3,3,3,1,3;

    1/3,1.3,2,1/3,1] % 5*5的矩阵

  A(2,1) % 取第二行第一列的元素

  A(:,1) % 取第一列的元素

  A([2,5],:) % 取第2行和第5行元素

  A([2:5],:) % 取第2行到第5行

  A([2:2:5],:) % 取第2行和第四行(从2开始,每次递增两个单位,到5为止)

  A(2:end,:) % 取第2行到最后一行

  A(:) % 取全部元素,按列拼接

9、sum函数

E=[1,2;3,4;5,6] % 3行两列矩阵

sum(E) % 按列求和,等价于sum(E,1)

sum(E,2) % 按行求和

sum(sum(E)) % 对整个矩阵求和,等价于sum(E(:))

10、size(A); % 用来返回矩阵A的大小,返回一个行向量,[行数,列数]

  size(A,1); % 返回A的行数  size(A,2) % 返回A的列数

11、repmat函数

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

12、矩阵的运算

  矩阵的加减乘除:A+B A-B A*B A/B 其中A/B等价于A*inv(B)

  A.*B % 两个形状相同的矩阵对应元素相乘

  A./B % 两个形状相同的矩阵对应元素相除

  A*2 % 等价于A.*2,每个元素均乘以2

  A/2 % 等价于A./2,每个元素均除以2

  A.^2 % 每个元素同时乘方

  A^2 % 等价于A*A

13、求矩阵A的特征值和特征向量

  A=[1,2,3;2,2,1;2,0,3] % 3*3的方阵

  E=eig(A) % 求矩阵A的全部特征值,构成列向量E

  [V,D]=eig(A) % A的全部特征向量构成对角阵D,并求A的特征向量构成V的列向量

14、find函数,用来返回向量或矩阵中不为0元素的位置索引

1)当A为向量时

  find(A)

  find(A,2) % 返回前两个不为0的元素的位置

2)当A为矩阵时

  A=[1,-3,0;0,0,8;4,0,6];

  ind=find(A); % 先将矩阵A按列拼接,再寻找不为0元素的位置索引

  [r,c]=find(A) % 把不为0的元素的位置按行(r)列(c)输出,r和c均为列向量

  [r,c]=find(A,1) % 只找第一个不为0的元素,此时r和c为常数

15、X=[1,-3,0;0,0,8;4,0,6]

  X>0 % 返回3*3的逻辑矩阵,1代表当前元素大于0成立,0代表不成立

16、判断语句

  a=input(\'请输入考试成绩\');

  if a>=85

    disp(\'成绩优秀\')

  elseif a>=60

    disp(\'成绩及格\')

  else

    disp(\'成绩挂科\')

  end

17、magic(n); % 幻方矩阵,返回由1到n^2的整数构成的n*n矩阵,其中每一列的元素和均相等

18、sort函数

1)若A为矩阵

  sort(A) % 等价于sort(A,1),对每列的元素进行升序排列

  sort(A,2) % 对每行的元素进行升序排列

2)若A为行向量或列向量

  sort(A) % 默认对A进行升序排列

  sort(A,\'descend\') % 对A进行降序排列

  [sorted_A,index]=sort(A)

  % sorted_A是排序好的向量,index是排序后元素在原始A中的位置索引

19、zeros函数和ones函数

  zeros(n) % 返回一个n*n的全为0的矩阵

  zeros(m,n) % 返回一个m*n的全为0的矩阵

  ones(n) % 返回一个n*n的全为1的矩阵

  ones(m,n) % 返回一个m*n的全为1的矩阵

20、自定义函数需要单独放在一个m文件中,与原函数文件在同一文件夹下

  function [输出变量] = 函数名称(输入变量)

  % 函数的中间部分都是函数体,函数的最后要用end结尾,输出变量和输入变量可以有多个,用逗号隔开

  例如:

  function [a,b,c]=test(d,e,f)

    a=d+e;

    b=e+f;

    c=f+d;

  end

21、max函数

1)若A是一个矩阵

  max(A) % 返回A矩阵每一列的最大值,并组成一个行向量

  max(A,2) % 将A矩阵中的每个元素与2比较,保留最大值

  max(A,[],2) % 返回A矩阵每一行的最大值,并组成一个列向量

2)若A是一个行向量或列向量

  max(A) % 返回每一行或每一列的最大值

22、plot函数的用法

  % 线方式: - 实线 :点线 -. 虚点线 -- 波折线

  % 点方式: . 圆点 +加号 * 星 号 x x形 o 小圆

  % 颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青

  实例:plot(x, y, \'o\', new_x, p, \'r-\')

23、xlabel和ylabel

  % 在plot函数以后使用,说明x轴和y轴的名称

24、hold on % 继续在之前的图形上来画图形

grid on % 显示网格线

25、匿名函数

  @(arglist)anonymous_function

  例如:sqr = @(x) x.^0.5

26、fplot函数,可用于画出匿名一元函数的图形

  fplot(f,xinternal) % 其中internal = [xmin,xmax]

27、legend函数

  legend(string1,string2,string3, …) % 分别将字符串1、字符串2、字符串3等标注到图中,每个字符串对应的图标为画图时,\'Location\'用来指定标注显示的位置