文件存储
.mat
在Matlab中,为了方便我们在之后的工作中随时进行中断的工作,我们可以在IDE中通过:
- 点击“文件(File)”下接菜单
- 选择“保存工作区为(Save Workspace As…)”
- 输入文件名
- 点击“保存(Save)”按钮
将当前工作状态保存为.mat文件,之后我们就可以随时、随地在任何安装Matlab软件的计算机上使用当前工作状态。
.m
有时候,特别是复杂工程,我们可能无法坐在一个地方把所有的表达式全部输进去。把很长的一系列命令保存到一个文件中,然后仅在命令窗口输入一个简单命令就能执行。这就是创建脚本文件。
脚本文件(script file)就能这样做了。这种类型的文件被称为MATLAB程序,以.M 为扩展名保存。因此,我们也称为 M 文件。我们也可以创建全是 函数(function)的 M 文件
在IDE中点击New Script按钮,新建脚本文件
输入以下示例代码
1 | x = [1:2:3:4]; %x赋值为数组,元素之间以:或者;间隔 |
保存为文件Untitled.m
在Command Window中输入Untitled
显示
exp(x)
结果2.7183 7.3891 20.0855 54.5982
向量
列向量
MATLAB 允许你创建列向量和行向量,列向量通过在方括号内把数值用分号(;)隔开来创建,对元素的个数没有限制。
例如,要创建一个含有三个元素的向量,我们写成:
1 | a = [2; 1; 4] |
行向量
要创建行向量,我们仍然是把一组数值用方括号括起来,不过这次使用的分隔符是空格
(space)或逗号(,)。例如:
1 | >> v = [2 0 4] |
转置
使用转置操作可以进行列向量与行向量之间的相互转换。
在 MATLAB 中,我们用单引号(’)代表转置操作,把列向量与行向量互相转换的例子为:
1 | >> a = [2; 1; 4]; |
其他使用
1 | >> A = [1; 4; 5]; |
也可能使用行向量来创建新向量。要从带有 m 个元素的行向量 r 和带有 n 个元素的行向量 s 中创建带有 m+n 个元素的行向量 u,我们写成 u = [r, s]。例如:
1 | >> R = [12, 11, 9]; |
等差元素vector
有时需要创建带有等差元素的向量,差值为q为一个实数。创建一个首元素为s,末元素为e的向量x的语法如下:
1 | x = [ s : q : e ] |
这里要注意的是,在数组(包括行向量、列向量)使用幂函数、或者与其他向量一一运算时,与其他operator不同:
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
也就是说需要在数组变量中加上.
1 | >> y=x.^2 |
命令 length 返回向量中包含元素的个数
1 | length(y) |
向量乘
点乘
在MATLAB中,a、b两向量的点乘可以使用dot(a, b)
命令计算。
两个向量点乘的结果是数量,也即是说,它只是一个数值。我们使用MATLAB计算一个简单的例子:
1 | >> a = [1;4;7]; b = [2;-1;5]; |
点乘可以用来计算向量的模,所需要的只是把向量同时传递给 dot 命令的两个参数。考
虑上一节的向量:>> J = [0; 3; 4];
调用 dot 命令我们得到:
1 | >> dot(J, J) |
或者我们也可以用下面这种方式计算向量的模:
1 | >> mag = sqrt(dot(J,J)) |
对于带有复数元素的向量,dot 操作也能正确计算:
1 | >> u = [-i; 1 + i; 4 + 4*i]; |
叉乘
要计算向量的叉乘,这两个向量必须是的三维的
1 | >> A = [1 2 3]; B = [2 3 4]; |