Matlab复习

自从考完研就把matlab扔了,现在为了后续的工作重新捡回来一些…

具体内容可看官方文档:MATLAB Documentation,这里只放一些常用的内容。

语言基础

  • 输入命令

ans是一个内置变量,储存最近的运算结果。clc为清除命令行窗口,clear为清除工作区变量

在matlab想要运行一个较长的代码块,往往需要建立脚本文件。

要输出文本,可以调用disp函数:

1
disp('hello world')

输入命令为input函数,这里可以附上提示性文字:

1
reply=input('Would you like to see an echo?(y/n):','s')

%用于注释一行,%{ %}用于注释多行,%%用于脚本里的代码分块,运行时可以看每一块的运行结果。

在matlab中分号主要用于控制输出结果是否显示在命令行窗口。所以有时可不用分号。

  • 矩阵和数组

创建数组的常用函数有:

zeros(n):返回值为一个n阶矩阵,元素均为0;

zeros(a,b):返回一个a行b列的全0矩阵;

ones(n)/ones(a,b):同上二者,元素全为1;

eye(n):返回n阶单位阵;

diag(n1,n2,..):创建对角元素为n1,n2,…的对角阵;

linspace(x1,x2,n):创建一个由区间[x1,x2]中的n个等间距点。n不填时默认为100;

还有冒号":"的使用,如1:10就是一个1到10步长为1的向量。a:b:c代表从a到c步长为b的向量。

确定大小的函数为size(x):x可以是向量也可以是矩阵

  • 数据类型

在matlab中可以不定义元素的数据类型,matlab会默认将数据存储为double类型。

  • 运算符和基本运算

算术运算、关系运算、逻辑运算、集合运算、按位运算等。

  • 循环以及条件语句

条件语法:

1
2
3
4
5
6
7
if expression
statements
elseif expression
statements
else
statements
end

循环语法(for):

1
2
3
4
5
6
7
8
for index=values
statements
end

%例:以 -0.2 为步长递增,并显示值。
for v=1.0:-0.2:0.0
disp(v)
end

循环语法(while):

1
2
3
while expression
statements
end

break:用于终止循环

continue:将控制传递给 for 或 while 循环的下一迭代

pause:暂时停止执行 MATLAB


数据导入以及分析

一些文本文件:

load 将文件变量加载到工作区中
save 将工作区变量保存到文件中
matfile 访问和更改 MAT 文件中的变量,而不必将文件加载到内存中
disp 显示变量的值
formattedDisplayText 以字符串形式捕获显示输出
who 列出工作区中的变量
whos 列出工作区中的变量及大小和类型
clear 从工作区中删除项目、释放系统内存
clearvars 清除内存中的变量
openvar 在变量编辑器或其他图形编辑工具中打开工作区变量
workspace Open Workspace browser to manage workspace

图像文件常用函数;

imread 从图形文件读取图像
imwrite 将图像写入图形文件
imshow 显示图像