matlab上机操作实例.docx
《matlab上机操作实例.docx》由会员分享,可在线阅读,更多相关《matlab上机操作实例.docx(12页珍藏版)》请在冰豆网上搜索。
![matlab上机操作实例.docx](https://file1.bdocx.com/fileroot1/2023-1/27/cb96fa48-b9ac-43bf-ade0-1970e49d7c8a/cb96fa48-b9ac-43bf-ade0-1970e49d7c8a1.gif)
matlab上机操作实例
MATLAB简介
【目的】
1.了解MATLAB的数值运算;
2.了解MATLAB的一些基本函数及命令;
3.学习、掌握MATLAB软件有关的命令。
【准备】
1.熟悉MATLAB
MATLAB的首创是在数值代数领域颇有影响的CleveMoler博士,他在讲授线性代数课程时,深感高级语言编程的诸多不便之处,于是萌生了开发新的软件平台,即为MATLAB(MATrixLABoratory,矩阵实验室),软件采用了当时流行的EISPACK(基于特征值计算的软件包)和LINPACK(线性代数软件包)中的子程序,利用FORTRAN语言编写而成。
现今的MATLAB已全部采用C语言改写,并使用户界面变得越来越好。
由Moler博士等一批数学家和软件专家组建了MathWorks软件公司,专门从事MATLAB的扩展和改进。
自1982年推出第一个版本以来,1992年推出了具有划时代意义的MATLABV4.0,1993年推出了可用于IBMPC及其兼容机上的微机版,特别是与Windows配合使用,使MATLAB的应用得到了前所未有的发展。
1.1MATLAB的主要功能
(1).数值计算和符号计算功能
MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。
MATLAB和著名的符号计算语言Maple相结合,使得MATLAB具有符号计算功能。
(2).绘图功能
MATLAB提供了两个层次的绘图操作:
一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。
(3).编程语言
MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。
(4).MATLAB工具箱
MATLAB包含两部分内容:
基本部分和各种可选的工具箱。
MATLAB工具箱分为两大类:
功能性工具箱和学科性工具箱。
1.2初识MATLAB
启动MATLAB后,将进入MATLAB6.5集成环境。
MATLAB6.5集成环境包括MATLAB主窗口、命令窗口(CommandWindow)、工作空间窗口(Workspace)、命令历史窗口(CommandHistory)、当前目录窗口(CurrentDirectory)和启动平台窗口(LaunchPad)。
MATLAB系统的退出
要退出MATLAB系统,也有3种常见方法:
(1)在MATLAB主窗口File菜单中选择ExitMATLAB命令。
(2)在MATLAB命令窗口输入Exit或Quit命令。
(3)单击MATLAB主窗口的“关闭”按钮。
.主窗口
MATLAB主窗口是MATLAB的主要工作界面。
主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。
在MATLAB6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help6个菜单项。
(1)File菜单项:
File菜单项实现有关文件的操作。
(2)Edit菜单项:
Edit菜单项用于命令窗口的编辑操作。
(3)View菜单项:
View菜单项用于设置MATLAB集成环境的显示方式。
(4)Web菜单项:
Web菜单项用于设置MATLAB的Web操作。
(5)Window菜单项:
主窗口菜单栏上的Window菜单,只包含一个子菜单Closeall,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。
(6)Help菜单项:
Help菜单项用于提供帮助信息。
•工具栏
MATLAB6.5主窗口的工具栏共提供了10个命令按钮。
这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。
•命令窗口
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。
在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。
一般来说,一个命令行输入一条命令,命令行以回车结束。
但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。
例如
p=15,m=35
p=15;m=35
如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。
3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。
在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。
命令历史记录窗口
在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。
而且,通过双击命令可进行历史命令的再运行。
如果要清除这些历史记录,可以选择Edit菜单中的ClearCommandHistory命令。
2.基本数值运算
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之后,并按入Enter键即可。
例如计算(5*2+1.3-0.8)*10/25的值:
用键盘在MATLAB指令窗中输入以下内容
>>(5*2+1.3-0.8)*10/25
(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果。
ans=
4.2000
MATLAB会将运算结果直接存入一变量ans,代表MATLAB运算后的答案(Answer),并显示其数值于屏幕上。
由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。
我们也可将上述运算式的结果设定给另一个变数x如下:
>>x=(5*2+1.3-0.8)*10^2/25
x=
42
此时MATLAB会直接显示x的值。
小提示:
变量命名的规则
1.第一个字母必须是英文字母且区分大小写;
2.字母间不可留空格;
3.最多只能有63个字母,MATLAB会忽略多余字母。
变量也可用来存放向量或矩阵,并进行各种运算,例如:
>>x=[1352];%4维向量赋值给变量x
>>y=2*x+1%上一行命令后面加“;”表示运行结果不显示
y=
37115
当要查询变量的值时,只需在系统提示符号>>后直接输入该变量名即可,如:
>>x
x=
1352
在上例中,MATLAB会忽略所有在百分比符号(%)之后的文字,因此百分比之后的文字均可视为注释,不会影响系统的运算结果。
定义符号变量,用sym或syms,例如:
>>symsab%定义两个符号变量a,b,两个变量之间用空格隔开
>>a^b
ans=
a^b
定义字符串变量,例如:
>>s='你好!
'%定义字符串变量,输出(’’)中内容
s=
你好!
以符号的形式输出表达式,用命令sym(),例如:
>>x=sym([1352])%向量以符号的形式输出
x=
[1,3,5,2]
在书写语句时,可以用逗号(,)或分号(;)隔开,区别仅在于屏幕显示的不同:
用逗号隔开,屏幕会显示运算的结果,使用分号则不会。
例如:
>>x1=2,y1=3%使用逗号,屏幕显示运算结果
x1=
2
y1=
3
>>x2=2;y2=3;%使用逗号,屏幕不会显示运算结果,(;)也表示语句结束
MATLAB可在同时执行数个命令,只要以逗号或分号将命令隔开。
例如:
>>x=sin(pi/3);y=x^2;z=y*10,%在同一行输入多个命令
z=
7.5000
若一个数学运算是太长,可用三个句点将其延伸到下一行,如:
>>z=10*sin(pi/3)*...%换行
sin(pi/3)
z=
7.5000
3.基本数学函数
MATLAB常用的基本数学函数格式:
函数(变量)。
例如:
>>x=-2;
>>abs(x)%x的绝对值
ans=
2
几点注意:
1.函数一定在等式的右边;
2.每个函数对其变量的个数和格式都有一定的要求;例如:
sin(x)与sind(x)对变量要求不同;
3.函数允许嵌套。
例如:
sqrt(abs(sin(225*pi/180))),即
。
4.几个常用命令
clearx:
清除变量x
clearall:
清除所有变量
help:
用来查询已知命令的用法。
例如matlab代码:
>>helpsin%显示关于sin函数的帮助
运算结果为:
SINSine.
SIN(X)isthesineoftheelementsofX.
Seealsoasin,sind.
Overloadedfunctionsormethods(oneswiththesamenameinotherdirectories)
helpsym/sin.m
ReferencepageinHelpbrowser
docsin
lookfor:
用来寻找未知的命令。
例如要寻找计算逆矩阵的命令,可键入lookforinverse,MATLAB会列出所有和关键字inverse相关的指令。
找到所需的命令后,即可用help进一步找出其用法。
whos:
查看当前工作区内变量信息
open*.m:
打开m文件
exit或quit:
退出MATLAB
format:
输出结果位为小数
formatlong:
输出结果为15位小数
formatrat:
输出结果为有理数
注:
format命令仅仅影响数据在屏幕上的显示格式,不会影响系统内部的存储和运算精度。
表1-1基本算术运算符及特殊运算符
符号
符号用途说明
+
加
-
减
.*
数组乘法 详细说明helparith
*
矩阵相乘
^
矩阵求幂
.^
点幂
\
左除详细说明helpslash
/
右除
.\
点左除
./
点右除
作分隔用,如把矩阵元素、向量参数、函数参数、几个表达式分隔开来
;
(a)写在一个表达式后面时,运算后命令窗口中不显示表达式的计算结果
(b)在创建矩阵的语句中指示一行元素的结束,例如m=[xyz;ijk]
:
(a)创建向量的表达式分隔符,如x=a:
b:
c
(b)a(:
j)表示j列的所有行元素;a(i,:
)表示i行的所有列元素;a(1:
3,4)表示
第四列的第1行至第3行元素
()
圆括号
[]
创建数组、向量、矩阵或字符串(字母型)
{}
创建单元矩阵(cellarray)或结构(struct)
%
注释符,特别当编写自定义函数文件时,紧跟function后的注释语句,在你使用help函数名时会显示出来。
'
(a)定义字符串用
(b)向量或矩阵的共轭转置符
.'
一般转置符
...
表示MATLAB表达式继续到下一行,增强代码可读性
=
赋值符号
表1-2一些特殊的变量与常量(预定义变量)
变量名
意义
变量名
意义
ans
缺省变量名,以应答最近一次操作运算结果
i或j
虚数单位i=j=
pi
圆周率
inf
表示无穷大
realmax
最大正实数
realmin
最小正实数
表1-3常用的数学函数
函数
意义
函数
意义
sin(x)
正弦
asin(x)
反正弦
tan(x)
正切
atan(x)
反正切
sec(x)
正割
csc(x)
余割
exp(x)
指数运算
log(x)
自然对数
log2(x)
以2为底的对数
pow2(x)
以2为底的指数
abs(x)
标量的绝对值或向量的长度
sqrt(x)
开平方
imag(x)
求复数的虚部
real(x)
求复数的实部
conj(x)
共轭复数
gcd(x,y)
求整数x,y的最大公约数
sign(x)
符号函数
power(x,r)
乘方运算
expand(x)
多项式展开
solve(x)
求解方程
angle(x)
以弧度为单位给出复数x的幅角
表1-4几种常用命令
命令
用途说明
sym
定义符号变量
syms
定义多个符号变量
clear
删除当前工作区内变量
whos
查看当前工作区内变量信息
help
查询已知命令的用法
lookfor
寻找未知的命令
open
打开文件
exit
退出MATLAB
quit
退出MATLAB
format
输出结果位为小数
formatrat
输出结果为有理数
【实验内容】
例1-1:
计算
.
相应的matlab代码及运算结果如下:
:
>>format%结果一小数形式输出
>>sin((8+5*log2(4))/(abs(3-7))^3)%输入表达式
ans=
0.2776
例1-2:
计算
,以符号的形式输出.
相应的matlab代码及运算结果如下:
>>a=2*sym(sqrt(8))
a=
4*2^(1/2)
或者:
>>2*sym(power(8,1/2))%power(8,1/2)进行开方元算
ans=
4*2^(1/2)
【例】用MATLAB计算
能得到–2吗?
(1)
a=-8;
r=a^(1/3)
r=
1.0000+1.7321i
(2)>>sym(power(-8,1/3))
ans=
(1)+(sqrt(3))*i
(3)构造p(r)=
p=[1,0,0,8];
R=roots(p);
R=
-2.0000
1.0000+1.7321i
例1-3:
已知
计算
.
相应的matlab代码及运算结果如下:
>>clear
>>a=3+4*i;b=2-i;c=2*exp(i*pi/6);
>>x=a*b/c
x=
5.5801-0.3349i
>>y=abs(a)
>>z=angle(a)
>>g=angle(a)*180/pi
例1-4:
输出字符串“matlab7.0”
相应的matlab代码及运算结果如下:
>>s='matlab7.0'
s=
matlab7.0
例1-5:
输出多项式
,并查看变量.
相应的matlab代码及运算结果如下:
>>clear%清除变量
>>symsx;%定义符号变量x
>>y=x^2+5*x+4
y=
x^2+5*x+4
例1-6:
已知多项式
,计算
,
.
相应的matlab代码及运算结果如下:
>>clear
>>f1=sym('x^2+4'),f2=sym('2*x^3-3*x^2+2*x+3')%输出符号表达式
f1=
x^2+4
f2=
2*x^3-3*x^2+2*x+3
>>f=f1+f2%实现符号对象的加法运算
f=
-2*x^2+7+2*x^3+2*x
>>g=f1*f2%实现符号对象的乘法运算
g=
(x^2+4)*(2*x^3-3*x^2+2*x+3)
>>expand(g)%多项式展开
ans=
2*x^5-3*x^4+10*x^3-9*x^2+8*x+12
例1-7:
求解下列方程组:
.
相应的matlab代码及运算结果如下:
>>clear
>>[x,y]=solve('x^2+2*x*y+y^2-4','x-y-3')%求解方程
x=5/2
1/2
y=-1/2
-5/2所以方程组有两组解分别为:
.
说明:
求解方程租的格式[x1,x2,…,xN]=solve(‘eqn1’,’eqn2’,…,’eqnN’),其中eqni为方程.