实验1Matlab的基本使用方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%在适当位置为图形加上注释
>>
例:三维图形的绘制 Ø 三维曲线的绘制 >> t=0:pi/50:10*pi; >> plot3(sin(t),cos(t),t) >> grid >>
Ø 三维曲面的绘制 >> x=-7.5:0.5:7.5; >> y=x; >> [X,Y]=meshgrid(x,y); >> R=sqrt(X.^2+Y.^2)+eps;
load FileName
将 FileName.mat 文件中的所有变量装载进工作空间
load FileName v1 v2
将 FileName.mat 文件中的变量 v1 和 v2 装载进工作空间
使用 Matlab 仿真是最好创建自己的独立于 Matlab 的工作目录,这样不会破坏原有的目 录结构。
(1) 数值、变量和表达式. (2) 算术运算符、关系运算符、逻辑运算符.
(3) 矩阵的输入、运算.
(4) 常用数学函数.
(5) 二维、三维图形的绘制.
(6) 工作空间(workspace)、路径的设置.
(7) 数据类型、变量类型.
(8) 数据的导入与导出.
(9) Matlab 控制流结构.
(10) M 文件的编写与调试.
等于)
1
2) 逻辑运算:&(与)、|(或)、~(非)(非零元素都表示为真) 关系函数和逻辑函数:
函数
功能
函数
功能
all(x)
检查 x 是否全为 1
any(x)
检查 x 是否有不为零的元素
find(x)
找出非零元素的位置标识
isempty(x) 检查 x 是否为空阵
isinf(x)
检查 x 是否为无穷大
最简单的方法是将用户目录设置为当前目录,设置方法是在命令窗口中输入指令 cd d:\mydir 或者 pwd d:\mydir 另一种方法是将用户目录设置为 Matlab 的搜索路径中,方法是在命令窗口中输入指令:
7
path(path,’d:\mydir’)。用这种方法设置的目录信息只在当前环境中有效,一旦 Matlab 重新启 动,以前的设置就无效。
Your variables are:
RXYZtxyz
>> whos
Name
Size
Bytes Class
R
31x31
7688 double array
X
31x31
7688 double array
Y
31x31
7688 double array百度文库
Z
31x31
7688 double array
t
1x501
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
%将显示格式转换为缺省的短格式
>> 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):反正弦函数
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) 运算符:<(小于)、<=(小于等于)、>(大于)>=(大于等于)、==(等于)、~=(不
装载所有变量:“File: Load workspace”
保存/载入部分变量:load 和 save
save FileName
将全部变量保存为 FileName 文件
save FileName v1 v2
将变量 v1 和 v2 保存为 FileName 文件
save FileName v1 v2 –append 将变量 v1 和 v2 添加到 FileName 文件
6
>> Z=sin(R)./R; >> mesh(X,Y,Z) >>
%绘制三维曲面
(6) 工作空间(workspace)、路径的设置
1) 基本指令 who 和 whos 列出 matlab 工作空间中驻留的变量清单,二者不同的是 whos 在给出驻留的变量名的同 时,还给出各个变量的维数和属性:
>> who
(3) 矩阵的输入、运算 1) 矩阵的简单运算
空矩阵:x=[]产生一个 0×0 的矩阵 矩阵的转置 >> A=[1 2 3;4 5 6;7 8 9]; >> B=A' B=
147 258 369 矩阵的乘法:用“*”表示,矩阵与标量相乘表示矩阵中的每个元素都和标量相乘 >> x=[-1 0 2]'; >> y=[-2 -1 1]'; >> x'*y ans = 4 >> A=[1 2 3;4 5 6;7 8 9]; >> A*2 ans = 246 8 10 12 14 16 18 矩阵的逆:inv(A) 矩阵的点乘(除):对应元素相乘(除) >> a=[1 2;3 5]; >> b=a'; >> a*b
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)
%绘制二维曲线
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 是不合法的。 创建矩阵的函数:创建某些特殊的矩阵
(11) 帮助.
3、实验指导 Matlab 是美国 Mathworks 公司推出的一套高性能的数值分析和计算软件,它将矩阵运
算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问 题分析计算和程序设计的工具。
Matlab 语言可以被认为是一种解释性语言,用户可以在 Matlab 的工作空间中输入一个 指令,也可以在编辑器中编写应用程序,应用程序执行时,Matlab 软件对其中的命令和函 数进行翻译,然后在 Matlab 环境中对它进行处理,最后返回结果。 (1)数值、变量和表达式
>> plot(x,y,'-',x,z)
>> grid
%图形加网格线
>> xlabel('X')
%输出 X 轴说明
>> ylabel('Y')
%输出 Y 轴说明
>> title('sine and cosine curve') %在图形上方加上图形说明
>> text(2.5,0.7,'sin(x)')
>> 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
Ø 数值一般采用十进制数表示: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、实验主要内容
format
%将显示格式转换为缺省的短格式
y=a
i=find(y>10) %找出 y 中大于 10 的元素的位置(按列排序), y(i)=10*ones(1) %将所有大于 10 的元素用 10 来代替
>> a=magic(6)
a=
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
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
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];
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”