当前位置:
文档之家› 实验1Matlab的基本使用方法
实验1Matlab的基本使用方法
Ø 数值一般采用十进制数表示:45 -103 3.56 2.348e8 2.2e-1 Ø 变量名、函数名是对字母大小写敏感的,变量名的第一个字符必须是英文字母,最
多可以包含 31 个字符,变量名中不能包含标点、空格字符 Ø Matlab 中存在一些固定的变量,如 eps(相对精度或机器零阈值)、pi(π)Inf(+
1、实验目的要求
实验一 Matlab 的基本使用方法
(1)掌握 Matlab 的基本命令和基本函数.
(2)掌握 Matlab 运算符的使用方法. (3)掌握 Matlab 的常用数学函数的使用方法.
(4) 掌握 Matlab 图形的绘制. (5) 掌握 Matlab 程序设计的基本内容.
2、实验主要内容
load FileName
将 FileName.mat 文件中的所有变量装载进工作空间
load FileName v1 v2
将 FileName.mat 文件中的变量 v1 和 v2 装载进工作空间
使用 Matlab 仿真是最好创建自己的独立于 Matlab 的工作目录,这样不会破坏原有的目 录结构。
>> y=a
2
>> i=find(y>10) >> y(i)=10*ones(1) y=
10 1 6 10 10 10 3 10 7 10 10 10
10 9 2 10 10 10 8 10 10 10 10 10
10 5 10 10 10 10 4 10 10 10 10 10
3) 字符数组 >> s1='hello' %建立字符串 s1 = hello >> s1=[s1,' world'] %用方括号合并成更大的串 s1 = hello world
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
>> p=(rem(a,3)==0)
p=
001001
100100
010010
001001
100100
010010
>> format +;p
p=
++
++
++
++
++
++
>> format
%将显示格式转换为缺省的短格式
(1) 数值、变量和表达式. (2) 算术运算符、关系运算符、逻辑运算符.
(3) 矩阵的输入、运算.
(4) 常用数学函数.
(5) 二维、三维图形的绘制.
(6) 工作空间(workspace)、路径的设置.
(7) 数据类型、变量类型.
(8) 数据的导入与导出.
(9) Matlab 控制流结构.
(10) M 文件的编写与调试.
0 0.8571 1.7143
0
0 0.0000
矩阵的正交变换:分解为正交矩阵和上三角矩阵的乘积(QR 分解) >> A=[1 2 3;4 5 6;7 8 9;10 11 12]; >> [Q,R]=qr(A) Q=
-0.0776 -0.8331 0.5456 -0.0478 -0.3105 -0.4512 -0.6919 0.4704 -0.5433 -0.0694 -0.2531 -0.7975 -0.7762 0.3124 0.3994 0.3748 R=
∞)、NaN、realmax、realmin 等 Ø 表达式遵循日常中的习惯写法,支持复数的使用,虚数符号 i 或 j. >> z=3+4i z=
3.0000 + 4.0000i (2) 算术运算符、关系运算符、逻辑运算符 1) 运算符:<(小于)、<=(小于等于)、>(大于)>=(大于等于)、==(等于)、~=(不
2) 矩阵的特殊运算 矩阵的三角分解:将一个方阵表示为一个上三角阵和一个下三角阵的乘积(LU 分
解)
>> A=[1 2 3;4 5 6;7 8 9];
>> [L,U]=lu(A)
L=
0.1429 1.0000
0
0.5714 0.5000 1.0000
1.0000
0
0
U=
7.0000 8.0000 9.0000
4008 double array
x
1x31
248 double array
y
1x31
248 double array
z
1x30
240 double array
Grand total is 4437 elements using 35496 bytes
2) 工作空间的保存
保存所有变量:“File: Save workspace As”
isstr(x)
检查 x 是否为字符串
等等
例子:
a=magic(6)
% 建立一个 6 阶魔方矩阵
p=(rem(a,3)==0) %rem 求余数的运算,矩阵 a 的各元素分别被 3 除,能整除的返回 1,不 能整除的返回 0,p 将返回一个含有 0 和 1 的矩阵
format +; p
%用 format +命令给出 p 的压缩格式,显示“+”代表正元素,显示“-” 代表负元素,空格代表 0
6
>> Z=sin(R)./R; >> mesh(X,Y,Z) >>
%绘制三维曲面
(6) 工作空间(workspace)、路径的设置
1) 基本指令 who 和 whos 列出 matlab 工作空间中驻留的变量清单,二者不同的是 whos 在给出驻留的变量名的同 时,还给出各个变量的维数和属性:
>> who
4
-12.8841 -14.5916 -16.2992
0 -1.0413 -2.0826
0
0 -0.0000
0
0
0
奇异值分解:[U,S,V]=svd(A) A=U*S*V’ 矩阵的特征值:eig(A)以列向量形式返回特征值,[X,D]=eig(A)返回特征值和特征 向量
>> A=[0 1;-1 0];
>> eig(A)
ans =
0 + 1.0000i
0 - 1.0000i
>> [X,D]=eig(A)
X=
0.7071
0.7071
0 + 0.7071i
0 - 0.7071i
D=
0 + 1.0000i
0
0
0 - 1.0000i
(4) 常用数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数 z 的相角(Phase angle) sqrt(x):开平方 real(z):复数 z 的实部 imag(z):复数 z 的虚 部 conj(z):复数 z 的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 (比此小数小的最近整数) ceil(x):天花板函数,即加入正小数至最近整数 (比此小数大的最近整数) rat(x):将实数 x 化为分数表示 rats(x):将实数 x 化为多项分数展开 sign(x):符号函数 (Signum function)。 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数 asin(x):反正弦函数
3
ans =
5 13
13 34
>> a.*b
ans =
16
6 25
>> 矩阵的除法:两种不同的矩阵除法符号“/”和“\”分别表示右除和左除:
A\B=inv(A)*B 表示 A 的逆左乘 B 矩阵 是 A*X=B 的解 B/A=B*inv(A) 表示 A 的逆右乘 B 矩阵 是 X*A=B 的解 矩阵的乘方:A^P 表示 A 的 P 次方。如果 P 不是整数,则计算涉及特征值特征向 量问题,例如,假设[V,D]=eig(A),则 A^P=V*D.^P/V;如果 P 是矩阵,A 是向量,以 及 A、P 都是矩阵,则 A^P 是不合法的。 创建矩阵的函数:创建某些特殊的矩阵
装载所有变量:“File: Load workspace”
保存/载入部分变量:load 和 save
save FileName
将全部变量v1 v2
将变量 v1 和 v2 保存为 FileName 文件
save FileName v1 v2 –append 将变量 v1 和 v2 添加到 FileName 文件
eye(size(A)):产生与 A 矩阵同阶的单位矩阵 zeros()和 ones():产生 0 和 1 的矩阵 rand():产生随机元素的矩阵 diag()、triu()、tril():创建对角、上三角、下三角矩阵 size():显示一个包含两个元素的向量:矩阵的行与列的个数。函数 length()返回向 量的长度或矩阵行数和列数的最大值
5
acos(x):反馀弦函数 atan(x):反正切函数
(5) 二维、三维图形的绘制
二维图形的绘制 >> x=linspace(0,2*pi,30);
%在 0~2π区间线性生成 30 个点的行向量
>> y=sin(x);
>> z=cos(x); >> plot(x,y,'-'x,z)
%绘制二维曲线
等于)
1
2) 逻辑运算:&(与)、|(或)、~(非)(非零元素都表示为真) 关系函数和逻辑函数: