。所以即使身旁没有使用手册,也可以使用help指令查询不熟悉的指令或是题材之用法,例如help sqrt 2.是利用lookfor指令,它可以从你键入的关键字(key-word)(即使这个关键字并不是MATLAB的指令)列出所有相关的题材,但是这样有时很费时,并且查找到许多相关的结果。例如lookfor cosine, lookfor sine。
3.MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按两次Tab键,系统就会列出所有以这几个字母开头的命令。
二、基本数算
在MATLAB下进行基本数算,只需将运算式直接打在提示号 >> 后面,并按入Enter键即可。MATLAB将计算的结果以ans显示。
【例】求的算术运算结果。
(1)用键盘在MATLAB指令窗中输入以下内容
>> (12+2*(7-4))/3^2
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans =
2
我们也可给运算式的结果设定一个变量x:
>>x = (5*2+1.3-0.8)*10^2/25
x =
42
变量命名规则:
1. Matlab中区分变量名的大小写。
2. 变量的第一个字符必须为英文字母,对于6.5版不能超过63个字符,以前的低于6.5版的不能超过31个字符。
3. 变量名可以包含下连字符、数字,但不能为空格符、标点。
系统预定义的变量
| ans | 预设的计算结果的变量名 |
| eps | MATLAB定义的正的极小值=2.2204e-16 |
| pi | 内建的π值(= 3.1415926...) |
| Inf或inf | ∞值,无限大 ( ) |
| NaN或nan | 无法定义一个数目 ( ) |
键入clear则是去除所有定义过的变量名称。注:在计算一部分新内容之前,一般用clear命令先清除前面的变量的值以免影响后面的计算结果。对于有用的变量我们可以用save命令存起来,然后再用load命令调用之。用who和whos用来查看当前工作区中已驻留的变量清单。
表达式
MATLAB书写表达式的规则与“手写算式”差不多相同,但要求所有表达式都是以纯文本形式输入。
若不想让MATLAB每次都显示运算结果,只需在运算式最后加上分号(;)即可,如下例:
>>y = 1034*22+3^5;
若要显示变数y的值,直接键入y即可:
>>y
y =
22991
MATLAB会忽略所有在百分比符号(%)之后的文字,因此百分比之后的文字均可视为程式的注解(Comments)。
【例】计算圆面积Area = ,半径r = 2,则可键入
>> r=2; % 圆半径r = 2,
>> area=pi*r^2 % 计算圆面积area
area =
12.56
MATLAB提供基本的算术运算有: 加 (+)、减 (-)、乘 (*)、除 (/)、幂次方 (^),范例为:5+3, 5-3, 5*3, 5/3, 5^3
MATLAB常用数学函数
● 指数函数
| 名称 | 含义 | 名称 | 含义 | 名称 | 含义 |
| exp | E为底指数 | log10 | 10为底的对数 | pow2 | 2的幂 |
| log | 自然对数 | log2 | 2为底的对数 | sqrt | 平方根 |
●圆整函数和求余函数| 名称 | 含义 | 名称 | 含义 |
| ceil | 向+∞圆整 | rem | 求余数 |
| fix | 向0圆整 | round | 向靠近整数圆整 |
| floor | 向-∞圆整 | sign | 符号函数 |
●矩阵变换函数| 名称 | 含义 | 名称 | 含义 |
| fiplr | 矩阵左右翻转 | diag | 产生或提取对角阵 |
| fipud | 矩阵上下翻转 | tril | 产生下三角 |
| fipdim | 矩阵特定维翻转 | triu | 产生上三角 |
| Rot90 | 矩阵反时针90翻转 | det | 行列式的计算 |
●其他函数| 名称 | 含义 | 名称 | 含义 |
| min | 最小值 | max | 最大值 |
| mean | 平均值 | median | 中位数 |
| std | 标准差 | diff | 相邻元素的差 |
| sort | 排序 | length | 个数 |
| norm | 欧氏长度 | sum | 总和 |
【例】>>y = sin(10)*exp(-0.3*4^2)y =
-0.0045
【例】指令行操作过程示例。
(1)若想计算的值,那么用户应依次键入以下字符
>>y1=2*sin(0.3*pi)/(1+sqrt(5))
(2)按【Enter】键,该指令便被执行,并给出以下结果
y1 =
0.5000
若又想计算,可以简便地用操作键获得指令,具体办法是:先用键调回已输入过的指令 y1=2*sin(0.3*pi)/(1+sqrt(5)) ;然后移动光标,把y1改成y2;把 sin 改成 cos 便可。即得
y2=2*cos(0.3*pi)/(1+sqrt(5))
y2 =
0.3633
四、阵列与矩阵
MATLAB的运算事实上是以阵列 (array) 及矩阵 (matrix) 方式在做运算.阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。
阵列和矩阵的创建方式
(A)直接创建 宣告一变量为阵列或是矩阵时,须用中括号[ ] 将元素置于其中。阵列为一维元素所构成,而矩阵为元素所组成。
【例】x=[1 2 3 4 5 6 7 8]%一维1x8 阵
【例】简单矩阵的输入步骤。
(1)在键盘上输入下列内容:( 以 ; 区隔各行的元素)
>>A = [1,2,3; 4,5,6; 7,8,9]
(2)按【Enter】键,指令被执行。
(3)显示以下结果:
A =
1 2 3
4 5 6
7 8 9
【例】矩阵的分行输入
>>A=[1,2,3
4,5,6
7,8,9]
A =
1 2 3
4 5 6
7 8 9
(B)用系统函数创建
eye(m,n)
diag(v)
ones(m,n)
zeros(m,n)
rand(m,n)
magic(n)
a=[] %产生空矩阵
当元素较多时,也采用下面的方式创建数组或矩阵,这种方式在后面的作图取点时应用非常广泛。
x=(1:2.5:120); % 以:起始值=1,增量值=2.5,终止值=120的矩阵
x=linspace(0,1,100); % 利用linspace,以区隔起始值=0,终止值=1之间,元素数目=100
(C)连接矩阵产生新矩阵
【例】 a=zeros(3,4);b=eye(4,4); c=[a;b]%矩阵b以行形式加到a的后面
c =
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
a1=zeros(2,3);b1=eye(2,2);
C1=[a1 b1] % b1以列形式加a1的后面
C1 =
0 0 0 1 0
0 0 0 0 1
矩阵元素的提取
a=[1,2,3;4,5,6;7,8,9]
a =
1 2 3
4 5 6
7 8 9
a(2,3)
ans =
6
a(find(a>5)) %a中大于5的元素
ans =
7
8
6
9
a(5:end) %提取从第5个到最后一个元素
ans =
5 8 3 6 9
矩阵运算
符号外其余的阵列运算符号均须多加 . 符号(实现“元素对元素”的运算)。
+ 加 - 减 .* 乘 ./ 左除 .\ 右除 .^ 次方 .' 转置
矩阵的几种基本变换
1. 通过在矩阵变量后加’的方法来表示转置运算
>>a=[10,2,12;34,2,4;98,34,6];
>>a'
ans =
10 34 98
2 2 34
12 4 6
2.矩阵求逆
>>inv(a)
ans =
-0.0116 0.0372 -0.0015
0.0176 -0.1047 0.0345
0.0901 -0.0135 -0.0045
3.左右反转
>>fliplr(a)
ans =
12 2 10
4 2 34
6 34 98
4.上下反转
>>flipud(a)
ans =
98 34 6
34 2 4
10 2 12
5. 旋转90度
>>rot90(a)
ans =
12 4 6
2 2 34
10 34 98
6. 取出上三角和下三角
>>triu(a)
ans =
10 2 12
0 2 4
0 0 6
>>tril(a)
ans =
10 0 0
34 2 0
98 34 6
字符串数组,构架数组和元胞数组
1.字符串数组
与数值数组相比,字符串数组在Matlab中的重要性较小。它的简单创建方式为:在指令窗中直接把字符放在“单引号对”中即可创建,注意这里的单引号对必须是在英文状态下输入。
例 x=’adsfsa’x为字符串
2.元胞(cell)数组
●元胞矩阵的建立
元胞数组可以存放不同类型的数据。其建立方式和一般矩阵相似,只是矩阵元素用大括号括起来。
对元胞元素直接赋值
[例] C_str=char(‘第一个’,‘元胞数组创建的例子’);
R=ones(3,4);Cn=[1+2i];
S_sym=sym(‘sin(t)+cos(t)’);
A(1,1)={C_str};A(1,2)={R};
A(2,1)={Cn};A(2,2)={S_sym};
A
A =
[2x9 char] [3x4 double]
[1.0000+ 2.0000i] [1x1 sym ]
celldisp(A) %显示元胞数组的内容
A{1,1} =
第一个
元胞数组创建的例子
A{2,1} =
1.0000 + 2.0000i
A{1,2} =
1 1 1 1
1 1 1 1
1 1 1 1
A{2,2} =
sin(t)+cos(t)
●元胞数组的引用
[例] A{1,1} %用花括号引用元胞数组的元素内容
ans =
第一个
元胞数组创建的例子
A(1,1) %圆括号引用元胞所存内容的属性,不显示其内容
ans =
[2x9 char]