基本操作

小操作

  • 添加注释 Ctrl+R %
  • 取消注释 Ctrl+T
  • 清空工作区变量 clear
  • 清除命令行里操作过的命令,使屏幕变干净 clc
  • clear;clc 表示初始化
  • 分号;表示不显示运行结果

输入输出函数(input(), disp())

disp用法类似C语言中的printf, 结尾无所谓分号

行向量 a = [1 2 3]

列向量 a = [1;2;3]


A = input(‘请输入A:’)

num2str

将数字转化为字符串

a = 40 40

num2str(a) ‘40’

字符串的拼接

strcat(‘a的取值为’, a)

[‘a的取值为’ a]

sum()

如果是一维向量,则直接求和

如果是多维,默认对列向量求和


sum(E, 1) 对列向量求和

sum(E, 2) 对行向量求和

sum(E(:)) 对整个矩阵求和

提取矩阵中的元素

A(3,2) 表示第三行第二列

A(3,:) 表示第三行所有元素

A(:,2) 表示第二列所有元素

:表示取所有元素


A([2,5],:) 只取第二行和第五行

A(2:5,:) 只取第二行到第五行

A(2:2:5,:) 取第二行和第四行


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

A(2:end-1,:) 取第二行到倒数第2行


A(:)将矩阵输出为一个列向量

size()

返回几行几列

size(A, 1) 返回行

size(A, 2) 返回列

repmat()

B = repmat(A, 2, 1)

把A看成一个整体,2行1列个A

inv()求逆阵

inv(B)

矩阵对应元素相乘除

.* ./

区别直接乘除

.

点针对每个元素进行操作

特征值和特征向量

V = eig(B) 取特征值

[V, D] = eig(B) 得到特征向量和特征值,并且特征值和特征向量一一对应

find()

返回不为0的矩阵的索引

ind = find(X)

ind = find(X, 2) 返回前两个不为0值的索引

[r,c] = find(D == Max_eig, 1)

定义一个函数

1
2
3
4
5
6
7
8
9
10
function [输出变量] = 函数名称(输入变量)  
函数的中间部分都是函数体
函数的最后要用end结尾
输出变量和输入变量可以有多个,用逗号隔开
function [a,b,c]=test(d,e,f)
a=d+e;
b=e+f;
c=f+d;
end
自定义的函数要单独放在一个m文件中,不可以直接放在主函数里面(和其他大多数语言不同)

定义一个具有自变量的方程

y=@(x) kx+b

声明x是一个自变量

mean()

平均值