文章翻译的是Matlab最新的官方文档R2016b,可能后续如果我还有时间会继续翻译,希望能够帮到大家,翻译的不好请大家不要吐槽。
Matlab官方文档地址:http://cn.mathworks.com/help/pdf_doc/matlab/getstart.pdf
Desktop Basics
当您启动MATLAB时,桌面以其默认布局显示如下:
说明:请大家对照着英文原版看,我没有截图,因为实在太麻烦
桌面包括以下面板:
•当前文件夹 - 访问您的文件。
•命令窗口 - 在命令行中输入命令,由
提示符(>>)。
•工作区 - 浏览您从文件创建或导入的数据
在MATLAB中工作时,您发出创建变量和调用函数的命令。
例如,通过在命令行中键入以下语句创建一个名为a的变量:
a = 1
MATLAB将变量a添加到工作空间,并在命令窗口中显示结果。
接着创建其他的变量:
b = 2
当您不指定输出变量时,MATLAB使用变量ans,为answer的简写,存储您的计算结果。
如果用分号结束语句,MATLAB执行计算,但输出窗口不会有结果显示。
e = a*b;
您可以通过按向上和向下箭头键↑和↓来调用先前的命令。在空命令行或键入命令的前几个字符后按箭头键。 例如,要调用命令b = 2,键入b,然后按向上箭头键。
Matrices and Arrays
MATLAB是“matrix laboratory”的缩写。虽然其他编程语言主要使用数字一次,但MATLAB®设计为主要在整个矩阵和数组上操作。
所有MATLAB变量都是多维数组,无论什么类型的数据。 矩阵是经常用于线性代数的二维数组。
Array Creation
要在单个行中创建具有四个元素的数组,请使用逗号(,)或空格分隔元素。
a = [1 2 3 4]
这种类型的数组是一个行向量。
要创建具有多个行的矩阵,请使用分号分隔行。
a = [1 2 3; 4 5 6; 7 8 10]
创建矩阵的另一种方法是使用一个函数,如ones,zeros或rand。 例如,创建一个5乘1列的零向量。
z = zeros(5,1)
Matrix and Array Operations
MATLAB允许使用单个算术运算符或函数处理矩阵中的所有值。
a + 10
要转置矩阵,请使用单引号('):a'
您可以执行标准矩阵乘法,使用*运算符计算行和列之间的内积。 例如,确认矩阵乘以其逆函数返回单位矩阵:
p = a*inv(a)
注意p不是整数值的矩阵。 MATLAB将数字存储为浮点值,并且算术运算对实际值与其浮点表示之间的微小差异敏感。 您可以使用format命令显示更多的十进制数字:
format long
p = a*inv(a)
重置为短整型:
format short
格式仅影响数字的显示,而不影响MATLAB计算或保存它们的方式。
要执行元素级乘法而不是矩阵乘法,请使用.*运算符:
p = a.*a
乘法,除法和幂的矩阵运算符都具有对应的以元素方式操作的数组运算符。 例如,将a的每个元素提高到第三个幂:
a.^3
Concatenation
连接是将数组连接成更大数组的过程。 事实上,你通过连接它的各个元素做出了你的第一个数组。 一对方括号[]是连接运算符。
A = [a,a]
使用逗号将彼此相邻的数组连接称为水平并置。 每个数组必须具有相同的行数。 类似地,当数组具有相同的列数时,您可以使用分号垂直连接。
A = [a; a]
Complex Numbers
复数具有实部和虚部,其中虚部为-1的平方根。(个人不使用复数就省略了)
Array Indexing
MATLAB中的每个变量都是一个可以存储许多数字的数组。 当您要访问数组的选定元素时,请使用索引。
例如,考虑4乘4magic 方阵A:
A = magic(4)
有两种方法来引用数组中的特定元素。 最常见的方法是指定行和列下标,例如
A(4,2)
不太常见,但有时有用的是使用单个下标,按顺序遍历每个列:A(8)
使用单个下标来引用数组中的特定元素称为线性索引。
如果你试图引用赋值语句右边数组之外的元素,MATLAB会抛出一个错误。
但是,在赋值语句的左侧,您可以指定当前维度之外的元素。 阵列的大小增加以适应新数据。
A(4,5) = 17
要引用数组的多个元素,请使用冒号运算符,这允许您指定格式为start:end的范围。 例如,列出A的前三行和第二列中的元素:
A(1:3,2)
单独的冒号,没有开始或结束值,指定该维中的所有元素。 例如,选择A的第三行中的所有列:
A(3,:)
冒号运算符还允许使用更一般的形式start:step:end创建一个等间隔的值向量。
B = 0:10:100
如果省略中间步,如在start:end中,MATLAB使用默认步长值1。