ch02b.docx

上传人:b****5 文档编号:7845440 上传时间:2023-01-26 格式:DOCX 页数:13 大小:63.57KB
下载 相关 举报
ch02b.docx_第1页
第1页 / 共13页
ch02b.docx_第2页
第2页 / 共13页
ch02b.docx_第3页
第3页 / 共13页
ch02b.docx_第4页
第4页 / 共13页
ch02b.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

ch02b.docx

《ch02b.docx》由会员分享,可在线阅读,更多相关《ch02b.docx(13页珍藏版)》请在冰豆网上搜索。

ch02b.docx

ch02b

2.基础准备及入门

 

2.1MATLAB5.x版对外部系统的要求

2.2MATLAB的安装

2.3MATLAB环境的启动

2.4MATLAB指令窗简介

2.4.1工具条

2.4.2菜单选项

2.5指令窗运行入门

2.5.1最简单的计算器使用法

【例2.5.1-1】求

的算术运算结果。

(1)用键盘在MATLAB指令窗中输入以下内容

>>(12+2*(7-4))/3^2

(2)在上述表达式输入完成后,按【Enter】键,该就指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果。

ans=

2

 

【例2.5.1-2】简单矩阵

的输入步骤。

(1)在键盘上输入下列内容

A=[1,2,3;4,5,6;7,8,9]

(2)按【Enter】键,指令被执行。

(3)在指令执行后,MATLAB指令窗中将显示以下结果:

A=

123

456

789

 

【例2.5.1-3】矩阵的分行输入

A=[1,2,3

4,5,6

7,8,9]

(以下是显示结果)

A=

123

456

789

 

【例2.5.1-4】指令的续行输入(以下格式在除Notebook外的MATLAB环境中可运行)

S=1–1/2+1/3–1/4+1/5–1/6...

+1/7–1/8

S=

0.6345

 

2.5.2数值、变量和表达式

2.5.2.1数值的记述

2.5.2.2变量命名规则

2.5.2.3MATLAB默认的预定义变量

2.5.2.4表达式

2.5.2.5复数和复数矩阵

【例2.5.2.5-1】复数

表达,及计算

(1)经典教科书的直角坐标表示法

z1=3+4i

z1=

3.0000+4.0000i

 

(2)采用运算符构成的直角坐标表示法和极坐标表示法

z2=1+2*i%运算符构成的直角坐标表示法

z3=2*exp(i*pi/6)%运算符构成的极坐标表示法

z=z1*z2/z3

z2=

1.0000+2.0000i

z3=

1.7321+1.0000i

z=

0.3349+5.5801i

 

【例2.5.2.5-2】复数矩阵的生成及运算

A=[1,3;2,4]-[5,8;6,9]*i

B=[1+5i,2+6i;3+8*i,4+9*i]

C=A*B

A=

1.0000-5.0000i3.0000-8.0000i

2.0000-6.0000i4.0000-9.0000i

B=

1.0000+5.0000i2.0000+6.0000i

3.0000+8.0000i4.0000+9.0000i

C=

1.0e+002*

0.99001.1600-0.0900i

1.1600+0.0900i1.3700

 

【例2.5.2.5-3】求上例复数矩阵C的实部、虚部、模和相角。

C_real=real(C)

C_imag=imag(C)

C_magnitude=abs(C)

C_phase=angle(C)*180/pi%以度为单位计算相角

C_real=

99116

116137

C_imag=

0-9

90

C_magnitude=

99.0000116.3486

116.3486137.0000

C_phase=

0-4.4365

4.43650

 

2.5.3计算结果的图形表示

【例2.5.3-1】画出衰减振荡曲线

及其它的包络线

的取值范围是

t=0:

pi/50:

4*pi;%定义自变量取值数组

y0=exp(-t/3);%计算与自变量相应的y0数组

y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组

plot(t,y,'-r',t,y0,':

b',t,-y0,':

b')%用不同颜色、线型绘制曲线

grid%在“坐标纸”画小方格

图2.5.3-1衰减振荡曲线与包络

 

【例2.5.3-2】画出

所表示的三维曲面。

的取值范围是

clear;x=-8:

0.5:

8;%定义自变量x的一维刻度向量

y=x';%定义自变量y的一维刻度向量

X=ones(size(y))*x;%计算自变量平面上取值点

坐标的二维数组

Y=y*ones(size(x));%计算自变量平面上取值点

坐标的二维数组

R=sqrt(X.^2+Y.^2)+eps;%计算中间变量

<5>

Z=sin(R)./R;%计算与自变量二维数组相应的函数值

<6>

mesh(Z);%绘制三维网格图

colormap(hot)%指定网格图用hot色图绘制

图2.5.3-2三维网线图

 

2.6控制指令窗的指令、操作和标点

2.6.1常用控制指令

2.6.2数值计算结果的显示格式

2.6.3指令行的编辑

【例2.6.3-1】指令行操作过程示例。

(1)若用户想计算

的值,那末用户应依次键入以下字符

y1=2*sin(0.3*pi)/(1+sqrt(5))

(2)按【Enter】键,该指令便被执行,并给出以下结果

y1=

0.5000

在以上操作和计算结束后,操作指令和计算结果都记录在MATLAB工作内存中。

因此,假如用户希望调回前面输入的指令重新运行,或希望对前面输入的指令加以修改后再运行,那末只要反复按动键盘上的箭头键,就可从内存中把以前输入的那指令调回到当前行,以供重新运行或修改后运行。

新的计算结果,只可能被此后运行的指令所使用,而绝不会影响以前生成的(非同名)变量的“内容”。

(3)利用指令回调,进行新的计算。

若又想计算

,用户当然可以象前一个算例那样,通过键盘把相应字符一个一个“敲入”。

但也可以较方便地用操作键获得该指令,具体办法是:

先用键调回已输入过的指令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

2.6.4指令行中的标点符号

2.6.5内存变量的查阅和删除

2.6.5.1指令who和whos

【例2.6.5.1-1】用who检查MATLAB内存变量。

在指令窗中运行以下指令,就可看到内存变量。

who

Yourvariablesare:

RYxy1

XZyy2

 

【例2.6.5.1-2】键入whos,获得驻留变量的详细情况:

全部变量名,变量的数组维数,占用字节数,变量的类别(如双精度),是否复数等。

whos

NameSizeBytesClass

R33x338712doublearray

X33x338712doublearray

Y33x338712doublearray

Z33x338712doublearray

x1x33264doublearray

y33x1264doublearray

y11x18doublearray

y21x18doublearray

Grandtotalis4424elementsusing35392bytes

 

2.6.5.2内存浏览器和变量编辑器

2.6.6变量的文件保存

2.6.6.1通过菜单保存和再度读取变量

2.6.6.2save和load指令

【例2.6.6.2-1】数据的存取。

(1)建立用户目录,并使之成为当前目录,保存数据

mkdir('c:

\','my_dir');%在C盘上创建目录my_dir

cdc:

\my_dir%使c:

\my_dir成为当前目录

savesafXYZ%选择内存中的X,Y,Z变量保存为saf.mat文件

dir%显示目录上的文件

...saf.mat

 

(2)清空内存,从saf.mat向内存装载变量Z

clear%清除内存中的全部变量

loadsafZ%把saf.mat文件中的Z变量装入内存

who%检查内存中有什么变量

Yourvariablesare:

Z

 

〖说明〗

●本例运用了例2.5.3-2和例2.6.3-1中指令运行后产生的变量。

●如果一组数据是经过长时间的复杂计算后获得的,那末为避免再次重复计算,常使用save加以保存。

此后,每当需要,都可通过load重新获取这组数据。

这种处理模式常在实际中被采用。

2.7操作实录指令和M脚本文件

2.7.1操作实录指令

2.7.2M脚本文件编写初步

2.8在线自学引导和演示指令

2.8.1在线提供的入门引导

2.8.2在线演示

2.9帮助系统

2.9.1帮助系统的构造

2.9.2指令窗中的help指令

2.9.2.1直接使用help获得指令的使用说明

【例2.9.2.1-1】假如准确知道所要求助的主题词,或指令名称,那末使用help是获得在线帮助的最简单有效的途径。

本例演示:

关于矩阵对数函数logm使用说明的在线求助。

helplogm

LOGMMatrixlogarithm.

L=LOGM(A)isthematrixlogarithmofA,theinverseofEXPM(A).ComplexresultsareproducedifAhasnegativeeigenvalues.Awarningmessageisprintedifthecomputedexpm(L)isnotclosetoA.

[L,esterr]=logm(A)doesnotprintanywarningmessage,butreturnsanestimateoftherelativeresidual,norm(expm(L)-A)/norm(A).

IfAisrealsymmetricorcomplexHermitian,thensoisLOGM(A).

Somematrices,likeA=[01;00],donothaveanylogarithms,realorcomplex,andLOGMcannotbeexpectedtoproduceone.

SeealsoEXPM,SQRTM,FUNM.

 

2.9.2.2使用help指令进行分类搜索

【例2.9.2.2-1】运行不带任何限定的help,可以得到分类名称明细表。

help

HELPtopics:

matlab\general-Generalpurposecommands.

matlab\ops-Operatorsandspecialcharacters.

matlab\lang-Programminglanguageconstructs.

matlab\elmat-Elementarymatricesandmatrixmanipulation.

matlab\elfun-Elementarymathfunctions.

matlab\specfun-Specializedmathfunctions.

............

Formorehelpondirectory/topic,type"helptopic".

 

2.9.2.3采用helptopic指令形式获得具体子类的指令明细

【例2.9.2.3-1】如果用户想知道有关矩阵操作指令一栏表,那末就运行以下指令。

helpelmat

Elementarymatricesandmatrixmanipulation.

Elementarymatrices.

zeros-Zerosarray.

ones-Onesarray.

............

Basicarrayinformation.

size-Sizeofmatrix.

length-Lengthofvector.

............

Matrixmanipulation.

reshape-Changesize.

diag-Diagonalmatricesanddiagonalsofmatrix.

............

Specialvariablesandconstants.

ans-Mostrecentanswer.

eps-Floatingpointrelativeaccuracy.

............

Specializedmatrices.

compan-Companionmatrix.

gallery-Highamtestmatrices.

............

 

〖说明〗

●省略号由笔者所加,用来表示被删除的内容。

这样做是出于节省篇幅的考虑。

2.9.3指令窗中的lookfor指令

【例2.9.3-1】查找包含积分这个关键词的所有指令。

lookforintegral

ELLIPKECompleteellipticintegral.

EXPINTExponentialintegralfunction.

DBLQUADNumericallyevaluatedoubleintegral.

INNERLPUsedwithDBLQUADtoevaluateinnerloopofintegral.

QUADNumericallyevaluateintegral,lowordermethod.

QUAD8Numericallyevaluateintegral,higherordermethod.

COSINTCosineintegralfunction.

SININTSineintegralfunction.

ASSEMAAssemblesareaintegralcontributionsinaPDEproblem.

COSINTCosineintegralfunction.

FOURIERFourierintegraltransform.

IFOURIERInverseFourierintegraltransform.

SININTSineintegralfunction.

 

2.9.4其他起帮助作用的工具指令

2.9.5专门的在线帮助窗

2.9.6超文本形式的用户指南和指令手册

2.9.7用户指南和指令手册的PDF文件

2.10文件管理

2.10.1MATLAB的搜索路径

【例2.10.1-1】sqrt是MATLAB的内部函数。

下面观察,当对sqrt重新赋值后,所产生的不正常现象。

(1)正常运作情况

sqrt

(2)

ans=

1.4142

whichsqrt

sqrtisabuilt-infunction.

existsqrt%当用exist判断sqrt时,显示结果“5”指明是内建函数。

ans=

5

 

(2)不正常运作

sqrt=[1,0]%把sqrt赋值成一个两个元素的行向量

sqrt=

10

sqrt

(2)%这时该指令给出结果是0,而不是正常的平方根值1.4142

ans=

0

whichsqrt%当用which检查sqrt在哪里时,显示的却是“内存变量”

sqrtisavariable.

existsqrt%当用exist判断sqrt时,显示结果“1”指明是变量

ans=

1

 

2.10.2用户目录的设置

2.10.3MATLAB搜索路径的扩展和修改

2.10.3.1利用path指令扩展搜索路径

2.10.3.2利用路径浏览器修改搜索路径

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1