matlab学习Matlab编程基础及应用_第1页
matlab学习Matlab编程基础及应用_第2页
matlab学习Matlab编程基础及应用_第3页
matlab学习Matlab编程基础及应用_第4页
matlab学习Matlab编程基础及应用_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

mnnnB编程基础及其

应用

第01章

第二节MATLAB的系列产品及功能

一、MATLAB的功能产品

1.MATLABConpiler

将攻件转为皿件,加快运行速度。

2.MATLABC/O+GraphicsLibrary

由收件产生GUI独立运行的帝序代码。

3.MATLABC/O+MathLibrary

由败件产生独立运行如C程序代码。

4DatabastToolbox

在MAT5B中进行对数据库闱读写。

5.DatabastAcquisititionToolbox

在MATSB中直接读取数据库卡位数摄

6.ExceILink

可让Excel世界直接调用MATLAB的数据。

7.MATLABReportGenerator

MATIJVB的报告产生器。

8.MATLABRuntimeSever

格个人应用程序包成T软件,并在没有MT®

环境下执行。'

9MATLABWebSever

与NT的NebSeve哈用在Sever端执行MATLAB的运

算或绘图。

二、设计自动化系列

1.Simulink

2.RTW

由Simu1ink的模型产生的。呈序代码o

3.Stateflow

事件驱动(Eventdriven)的动态系统仿真。

4.StateflowCoder

产生Stateflow模型匿序代码。

5.DSPbIockset

对数字信号处理进行仿真的方块集。、

6.ConvnunicationToolbox

通信系统的设计与仿真。

7.XPXTarget

用Simulink的域序代码(由RTW得到的)下截到另

一台PC机.以实现快速原型化的各种测试。

8.DialsandGaugesBlock

由各种电子仪器的图标来显示或控制

Simu1ink的信号。

9.PowerSystemBlock

仿真大型电力系统的方块集。

10.FixedPointBlock

模拟定点运算的方块集。

11.RTWADACoder

可产生Simu1ink模型ADA代码。

12.RTWTarget

可在单台PC机上执行Simulink模型的C

代码(由E产生)。

三、工具箱系统

I信号与图象处理

(1)SignalProcessing

信号处

(2)ImagesProcessing

图象处理。

(3)Wavelet

小波变换的分析与应用。

(4)Higher-OrderSpectraIAnalysis

高阶频谱分析。

(5)FiIterDesign

・化流波的分析与应用。

2.控制设计

(1)ControlSystem

控制系统设计。

(2)FuzzyLogic

模糊逻辑分析与应用。_______________

(3)RobustControl

鲁棒控制。

(4)NonlinearControlDesignBlockset

非线性控制与数据分析方块集。

(5)SystemIdentification

系统识别。

<6)LMIControl

基于线性不等式的控制设计。

(7)ModelPredictiveControl

模糊逻辑在控制与数据分析中的应用。

(8)QFTControlDesign

定・反馈理论的强健式控制设计。

3.其他工具箱

(1)Optimizayion

最优化问题的各种方法。

(2)Statistics

统计及概率的应用。

(3)NeuralNetworks

类神经网络的设计与应用。

(4)Symbo1ic/ExtendedSymbo1icMath

符号的运算及化霞。

(5)PartialDifferentialEquation

解偏微分方程的各种方法。

(6)FinancialTimeSeries

金融计算与投资组合的分析与应用。

(7)Garch

对金融时间序列的预测与分析。

(8)Mapping

对地理信息的分析。

(9)Spling

利用样条进行数据内插。

02

第一节MATLAB的系统结构

MATLAB的系统结构如下图所示,整个结构分为三个层次九个部分,

其核心的部分是软件主包MATLAB.下面分别予以定性介绍.

最下面一层是基础层,上面都是应用层

Compiler:编译器,依附matlab

Toolboxes:工具箱,依附matlab

一、MATLAB系统的基础层(共三个部分)

MATLAB系统的基础层是整个系统的基础,该展次的核心内容是

MATIAB部分,也是整个系统的霰重要的部分。

1.软件主包MATLAB的构成

(1)MATLAB语言。

(2)MATALB的数学函数。

(3)MATALB的图形处理系统。

(4)MATAIB的应用程序接口。

(5)MATALB的工作环境管理。

2.MATLAB的工具箱(Toolboxes)

围绕MATLAB这个计算核心,有许多针对不同应用领域开发的应

用程序,称为MATLAB系统的工具箱.Mathworks公司所提供的应

用工具箱大约有40多个,另外还有一些其他公司提供的专门应用领域

的工具箱,目前可用的工具箱几乎上1。。个,并还在不断增加。目前

可用的工具箱所涉及的应用领域大致为

(1)应用数学类.

(2)电子技术类.

(3)图形图象技术。..

(4)通讯.

(5)财经与金融。

3MATLAB的编译器(Compiler)

MATLAB是一种高级语言,将这种高级语言高效快速地编译成为

硬件C语言,结合MATUVB的矩阵式数据结构,使MATUVBM有极快的运行

速度。

(1)C/Cn代码生成器。-

(2)终端用户发布独立应用。.

(3)支持如下标准编译环境:

1)Windows95/98/NT

MicrosoftDevStudioC/C++Coapiler

BorlandC/Cf<Coapiler

2)Unix

2.MATALB中常见的用户界面窗口(9个)

(1)命令窗口(CcaaandWindovn).

(2)历史命令密口(HistoryCoaaandfindown)•

(3)当前目录窗口(CurrentDirectory)•

(4)起始面板窗口(LaunchPad).

(5)工作空间窗口(Workspace).

以上窗口在主菜单里View(视窗)中根据需要进行选择和组合。

(6)1C文件编辑窗(MFile).

(7)图形文件编辑窗(Figure).

3.MATLAB的编译器(Conpiler)

MATLAB是一种高级语言,将这种高级语言高效快速地纳译成为

硬件C语言,结合叫TLAB的矩阵式数据结构,使HATLA暝有极快的运行

速度。

(1)C/C,,代码生成甥。

(2)终喘用户发布独立应用。

(3)支持如下标准编译环境:

DVindovs95/98/NT

MicrosoftDcvStudioC/C++Coapilcr

BorlandC/CHCoapiler

2)Unix

二、MATLAB系统的仿真应用层(共三个部分)

1.系统仿真应用层的核心部分(Simulink)

(1)建立和分析线柱.葺线柱动态系统幔型。

(2)具有层次性的交互式模块框图结狗设计方法。

(3)支持数字、模n和混合信号及事件塞动遗辑建模仿II。

(4)支持矩阵数据类型及线牲代数运算信号可视化.

(6)与C代码的硼仿工

(6)与Matlab平台紧密集电

(7)良好的操作性与可扩展性(模块与库的扩)。

(8)开发同期加快。

(9)精确的建财法和系统结构可视化》

(10)仿真系统严格反映真实时序(章实时时标)。

(11)可重用已有的C和!lallab源代码。

复合信号仿真模型

2.系统仿真应用层的模块集(Blocksets)

MA1UB的模块集(Blocksets)是一个个的数学软件包,是

系统仿真的美健部件.系统的仿真模型是大哥的模块蛆成.

3.MMATLAB的系统实时仿真(RTW)

(1)什么是RTI?

D从系统设计到硬件实现的快速直达途总

2)无需编程将Si・ulink模型生成嵌入式代码。

3)不依麒特殊目标硬件。

4)支持多种平台。

5)在线监控及调参。

(2)RTW主要特点:

D开放的、可犷充的结构o

2)支持定点和浮点。

3)通过交互方式下载参数到外部硬件。

4)支持连续系统、离敢系统、混合系统和异步系统仿箓

5)单任务、多任务和异步中断。

三、事件驱动逻辑/行为的建模、仿真(Stateflow)

1.Stateflow-状态流程图

(1)对事件驱动系统进行建模和仿真。

(2)支持自动代码生成o

(3)利用Statecharts的国际标准进行图形化建模。

(4)状态流图的描述无二义性。

(5)可与Siaulink,RTW无缝集成。

2状态代码生成(Corder)

2.MATALB中常见的用户界面窗口(9个)

(1)命令窗口(CoaaandWindown)o

(2)历史命令窗口(HistoryCoaaandWindovn)o

(3)当前目录窗口(CurrentDirectory)。

(4)起始面板窗口(LaunchPad)。

(5)工作空间窗口(Workspace)。

以上窗口在主菜单里Vie.(视窗)中根据需要进行选择和组合。

(6)M文件编辑窗(MFile)o

(7)图形文件编辑窗(Figure)。

工作空间:在此可以对变量复制、重命名、画图,并且可以导入新的变量和数

据,可以设置显示变量的类型(大小,中位数。。)

它是暂时内存,关机了就没了

重新赋值的话就是最新的值,原来的就没有了

双击变量可以对变量进行编辑(变量编辑器)

Clear清除工作空间所有变量(在工作空间里之间删也可以)

Clearab清除工作空间的a、b变量

Save存工作空间的所有变量到固定名为

matlab.mat的二进制文件中。

Savedata存工作空间的所有变量到名为

data,mat的二进制文件中。

Savedataxyz存工榨空间名为Xyz变量

到名为data.mat的二进制文件中。

Loaddata将数据文件data中的变量加载到工作

空间。

以上工作空间的数据文件参存取都在当前目录中进行。

默认存到WORK中

例子(本电脑存在D:\MyDocuments'MATLAB)中:

01.

save

Savingto:matlab.mat

load

Loadingfrom:matlab.mat

02.

saveqqx

贝II存至UD:\MyDocuments\MATLAB\qq.mat

Loadqq

在打开文件中双击也可

Desktop:设置桌面的窗口

Help比较好,可以自学,help中的demos

2.命令窗中直接箱入hel互函数(类)名

显示与该类函数有关的曲数信包如与矩阵函数相关的内容

helpftm

rr*f

«ub«p«»rr

tnv

3.命令窗中直接输入helh函数名

显示与该函数有关的所有函数信息,如

h*t|i

MhirhevrtIin*

iHawrMtM**IrtlA”《H

pnt*t•olid

rtrrlrdottrd

4.命令窗口直接■入lookfor,函数相关的字符

(注,字符串范围越小,显示范围就越小)

5.其他帮助命令

(1)exist变量检杳。

(2)what目录中文件列表.

(3)who内存变量列表.

(4)whos内存变量详细信息.

(5)which确定文件位者。

如下图所示.

菜单中Edit:

Clearcommandwindow

Clearcommandhistory

Clearworkspace

图形窗口可以对图像进行旋转

第三章

第三章基本数值计算

第一节数据类型

1.变量分数值变量和字符变量。区分大小写、变量名不

超过31位、不能有中文(包括文括文件名)。

2.常量计算机中不变的量。如i,j,pi,NaN(不确定),

Inf(无穷大)等。常量可任意调用。

3.字符变量胳字符串作为变量。有三种方法表示字符串。

1)用单引号。

2)用函数syz(,')。

3)用命令sy”。注意函数与命令的用法区别。(exnoQt)

后面变量要用空格隔开

X=2是把2赋给X

Debug:开车,运行

只运算不赋值,最后赋值到临时存储ans

第二节矩阵构造及运算

一、矩阵(Matrix)的构造

1矩阵的建立

(1)直接输入法。注意元素间隔和行间隔。

(2)冒号法(IxN)o注意元素的个数问题。

(3)函数法(特殊矩阵)。

(4)矩阵的编辑(ArrayEditor)o(exnolOt)

2向量

向■是IXN的特殊矩阵,称为N维向量。

3向量的点积与叉积

点积:dot(A,B)叉积:cross(A,B).

(cxnollt)

元素间隔:空格,行间隔:分号

冒号法(a:d:b)个数:(b-a)/d+l

W=eye(3)3阶单位矩阵

a=rand(2,3)2*3阶随机矩阵,元素在0〜1之间

b=randn(3)3阶随机矩阵,元素在0〜1之间,但元素符合正态分布

c=randn(2,3)2*3阶随机矩阵,元素在0〜1之间,但元素符合正态分布

d=magic(3)魔方阵,各行各列以及对角元素的和相等

e=zeros(3)3阶全零矩阵

向量只有一行

向量点积:

Dot(A,B)=|A|*|B|*C0S(AB)

Cross(A,B)

二、矩阵的加、减、乘和除

1.注意进行矩阵加、减、乘和除的矩阵条件

(1)进行矩阵加减时.参与运算的矩阵必须同维。

(3)A/BIH,A、B列数必须相同。A\B时.A、B行数必须相同。

2.注意矩阵的左乘与右乘不同(A*B不等于BM)

3.注意矩阵的左除与右除不同(A/B不等于A\B)

4.标星当矩阵的数运算和数学函数对矩阵的运算等于对矩阵的每

一个元素的运算

(exnol2t)

乘除是集体运算,注意除的操作

标量:单独的量,1,2.。。。。

a=rand(3)

b=abs(a)是做绝对值的运算

三、对矩阵的操作

L对矩阵元素的操作

(1)提取矩阵A的第n行第黑列的元素,表示为A(n,m)。

(2)提取矩阵A的第n行的所有元素,表示为A(n,:)。

(3)提取矩阵A的第。列的所有元素,表示为A(:,m)。

(4)将矩阵A的第n行第m列的元素重新赋值b.表示为A(n,Q=b。

(5)将矩阵A的第n行的所有元素重新融值b.表示为A(n,:)=b。

(6)将矩阵A的第m列的所有元素重新赋值b.表示为A(:,・)b。

(7)将矩阵A的第n行第m列的元素删除.表示为A(n,・)=[]。

(8)将矩阵A的第n行的所有元素删除,表示为A(n,

(9)将矩阵A的新列所有元素删除.表示为A(:,m)=「〕。(命今窗练邛

A

注意有冒号的前面或者后面都要有逗号给隔开

2对矩阵A的部分操作

函数功能函数功能

Fliplr(A)矩阵左右翻转Tiag(A,k)取矩阵对角线

元素

Hipud(A)矩阵三下翻转Tril(A,k)取矩阵的下厂

角部分

Flipdim(Ajm)矩阵沿特定维Triu(Ajk)取矩阵的上三

(m)翻转角部分

Rot90(A,k)矩阵逆时针旋kuj以是正、负整数,但绝对值

转k*90度一般不大于矩阵的维数。

Fliplr=flipleftright

Flipud=flipupdown

Flipdim=flipdim

首字母都要用小写

3对矩阵A的分析

(1)方阵A的行列式值,可表达为dct(A)o

(2)矩阵A的秩,可表达为rarik(A)o

(3)行列式值不为零的方阵A,求逆矩阵可表达为inv(A)。

(4)矩阵A的转道阵.可表达为A,。

(5)矩阵A的特征向量与特征值:

LV,D]eig(A)

式中,等号左边是因数对矩阵A的作用后返回的变量信息。其中,

V和D分别为A的特征向量与特征值。这里,注意MATLAB的函数发生

作用后返回的变量信息这种形式,特别注意中.小括号的使用。

四、矩阵的数组运算

运算中,往往需要在矩阵之间进行对应元素的运算.这就是矩阵

的数组运算。矩阵运算与矩阵的数组运算区别主要反映在乘和除两种

运算中。

1.乘法

(1)矩阵运算A*B。(2)矩阵的数组运算A.*B(称为数乘)。

2除法

(1)矩阵运算A/B或A\B。

(2)矩阵的数组运算A./B(称为数除)。

矩阵的两种不同运算方式提醒读者特别需要引起高度重视。

五、矩阵元素的关系运算与逻辑运算

1矩阵元素之间的关系运算

(1)元素之间的关系运算有

<小于》大于

《=小于等于》=大于等于

==等于~=不等于

(2)运算结果:满足条件时为1,不满足条件时为0,特别注意

等于的运算符号。

2矩阵元素之间的逻辑运算

元素之间的逻辑运算。(P40表2-2):

六、矩阵的多维数组形式

1.数组的维

(1)具有n个元素的一行或一列的矩阵数组称为一维数组。

(2)具有n行■列的矩阵数组称为nxm二维数组。

(3)具有h个二维数组称为nxMXh三维数组。

2多维数组的构成

(1)函数cal的使用。

_

(2)Bcat(din,al,a2...)o

(3)意义:将多个同维数组al,a2…构成一个高维数组B。Dim是高维

数组B的维数,它必须等于或大于al,a2…的阶次。(cxnol4t)

cat:构造多维数组的函数

b维数组B

■开始|||■O0禽11EHcros…|"MATLAB|PowgPol.」|i»C:WA...弓4■9K<9SQ_21:50

c(:,:,l)是a的数据

c(:,:,2)是b的数据

c(:,:,3)是b的数据(为了照顾结构,默认的)

七、多项式及其运算式

1.多项式的创建

(1)由IxN的N维向量

p=M%1

表示

多项式。

(2)由函数poly(A)定义

如果A为二维或以上的矩阵.poly(A)表示由A的特征根确定

的多项式。如果A为一维矩阵.poly(A)表示由A的元素为多项式

的根确定的多项式o(exnol5t).

,C:MATLAB6p5\work\exno\work\exno\exiiol5lJn

E*Edit*QatougBratport*w»fa出Eow明卜>

iou'二型sMf.|ae归西即o框»«•*!一七工

1k方法一

2p=[l-23]%直接给出多项式p

3poly2syn(p)%绐出p多.项式的表达式

4%方法二

5a=[l2-24]

6ps=poly(a)*计算s的行征根确定的多项式

7poly2sym(ps)%给出ps、项式的表,式

8%方法三

9x=[T2]

10px=polyG)%以x的元素为多项式的根确定的多项式。

11poly2sy^l(px)%给出ps多:「二式

12

Id

scriptLn1Col1

■开始1109松U13Mleros…|“MATLABIPowgPol…I瞰C:\MA...弓4■呼_22:07

第一个是方程X2-2X+3-

第二个是特征根。。。。

第三个是根

2.多项式函数的引用poIyvaI

(1)Y-polyval(px,x)。

(2)引用函数为polyval。

(3)括号中,Px为多项式的名,x为多项式自变量取值.Y为对

应的函数值。

3多项式运算的函数

(1)P43.表25。

(2)(exnol6t)。

4,函数的多项式拟合

(1)用多助式去模拟一个函数的方法,称为函数的多项式拟合。

Polyval=polyvalue

(2)方法:

1)找出函数上的已知点系列。

2)由已知点系列确定多助式,即

p=polyfit(.v,r,w)

式中.P为模拟的多项式.Polyfit为调用函数,x和y是已知点

系列.n是多项式的阶次。(一般n越大越精确)。(Cxnol2)

Plot:是画曲线

第四章符号运算

符号运算是数学计算的重要内容,特点是不带来计算误

差,希望认真掌握本章内容。

第一节符号变量的创建

(1)直接用引号”创建(包括代数式)。

(2)用函数sym(“)创建(包括代数)。

注意:

1)上述两种方法创建的符号变量所占空间不同。

2)符号代数式中的符号应另行创建。

数值运算误差会传递

它把符号代数式看做一个整体,里面的符号要另行创建

例如:y=sym(匕*x-2+b,)中.计算机只能识别单引号

中的字符串,不能识别字符串中的部分字符,比如

符a,x,b等。

(3),'中包括的空格等都视为符号。

(4)己创建的符号变■及代数式可以进行赋值。

(5)用函数syms创建多符号变量,变量之间用空格分

开。此方法一般多用于多符号变量的创建。

(6)可用上述方法创建符号矩阵与复数型符号变量。

第二节符号函数的运算

对符号函数进行运算,首先必须

(1)定义符号变量。

(2)定义符号函数

1.函数求极限

(1)Findsym(f,n)e查找函数f的变量次序.n是查找变量

的个数。

(2)limit(f,x,a)e对于符号函数f,求当变*x趋于a时的

极限值。对独立变量的函数x可省略。对多变量的

函数f.变量x不可省,如果省略,计算机则按排序的

一个变量求极限。

先是变量,然后是字母倒序

(3)limit(f,x,ajright)右极限。

(4)limit(f,x,a,'left'),左极限。

(5)无穷极限。

练习4T

hi(l+2,v)

lim

♦wsin3x

2.微分与积分的运算

对可微函数f

(1)微分:diff(f,v,n)o函数f中对符号变量v求n阶微

分。当变量v和阶次n省略时,表示对单变量

的函数求一阶微分。

对可积函数f(原函数存在)g

(2)积分:int(f,v,a,b)。函数f中对符号变量v求定积

分,a和b分别是积分的上下限。

int(f,v)o对变量v求定不积分。(exnol9t)

Diff:different微小的不同

没有上下限-不定积分;有上下限-定积分

得出的结果是符号表达式,而不是数值

Y(D

Y(2)

最后Y是一个向量,因此在编程序时可以把要求的值放到一个向量中

注意:在运行程序时,前面的变量(工作空间)没清除,后面再用该变量的话,若后面赋值

变量小,得到该变量的后面的值还是原来的

3.梯度函数gradient

(1)如果F是一维矩阵,贝UFX-&radient(F,H)返回F的

一维数值梯度。H是F中相邻两点间的间距。

(2)如果F是二维矩阵,返回F的二维数值梯度。

[FX,FY]=gradient(F,HX,HY)OHX,HY参数表示各

方向相邻两点的距离。

(3)如果F是三维矩阵,返回卜'的三维数值梯度。

[FX,FY,FZ]:gradient(F,HX,HY,HZ)。HX,HY,HZ参

数表示各方向相邻两点的距离。(exnol8tt)

_->_M_A_TL_A_B___________________________________________H|H|

E*Edityiew\Aze|iWndow

Dfi#Prectorr[c.WATL^B6p5VwtrMBxno^wt>>no|

X=

132

631

312

»[ex,ey]=gradient(x,0.5,0.2)

k

ex=

41-2

-6~5-4

-4-12

里型I.09其画MkrosoftP..」|OMATLABPowgPoW勺…|QISI号20:30

Ex=[(3-1)/0.5(2-1)/(0.5*2)(2-3)/0.5

]

Ey=[(6-1)/0.2...........

(3-l)/(0.2*2)...

(3-6)/0.2.........]

规律:两边是相邻相减除以d,中间是它的后面减前面再除以2d

Meshgrid(x,y)-将x,y构成网格(xx—y个数个行,每行元素都是x

yy—y个数个行,每列元素都是y)

在XX,yy中各取一行,一列

与C:MA[LAB6P5,work\8xno\work\exno\exjx)20Lm♦

日(eEditTextDebug桶Whctow

I00$H'r•&MAi£l£);S:IE)x02J霸

1-i[x,y]=meshgrid(-2:.05:2,-2:.05:2)%网格坐标函数

2t=x.*exp(x「2y「24平面的温度的分布

3"[px,py]=gradient(t,0.05,0.05)%平面上的温度梯度r两个方,

4td=sqrt(px.&2+py/2)»平面」二力滔度梯度的大小

5-subplot(221)%平面上作图均分四个区域.这里表示第一个区域

6imagesc(t)•作平面上的温度的分布囱

7'subplot(222)%

8imagesc(td)%

9'colormap('gray')%颜色矩阵

I1“if

scriptLn2Col14

事开阑,触09第||iahg」“MA...IPCMP..痴C:\.“4.用X。%a21:11

注意加点,表示对矩阵中的每个元素运算

Imagesc(t):Imagesc

Coloimap:颜色表

Gray:灰度

20

40

60

80

2040608020406080

4.符号代数方程(组)的求解solve

(1)定义符号变量。

(2)定义符号方程(组)。

(3)求解方程(组):

格式1变量输出方式

[xl,x2,...xn]solve(eql,eq2...eqn,xl,x2...xn)

格式2结构输出方式

V=solve(eql,eq2…eqn,xl,x2...xn)

eql,eq2…cqn是符号方程,xl,x2…xn是求解未知数。

V.xl(x2……)求里面各个变量的值

练习4-3

求解方程组

x;+2x,=0

Xj=0

注意:结构输出方式的显示为V.xl或v.x2

v为结构输出的变量名。

(exno21t)

5.符号微分方程(组)的求解dsolve

符号微分方程(组)可以直接求解.调用格式为

格式1函数输出方式

[yl,y2,…]=dsolve(,方程1,方程2初条件1,

初条件2…',’自变量')

格式2结构输出方式

V=dsolve(,方程1,方程2…初条件1,

初条件2…1'自变量。

注:当初条件和自变量省略时,解函数默认为自变量

为t,并含有积分常数。

可以之前不定义符号方程组,而在函数输出方式中定义

练习4-4

(1)求解微分方程

型…

dx

J'(0)=l

格式1函数输出方式

[y]dsolve('Dy=-a*y','y(0)=1','x')

格式2结构输出方式

s=dsolve('Dy=~a*y','y(0)=l','x')(cxno22t)

注意微分算符的表达(大写字母D),高阶为D2、D3...

规定dy/dt写成Dy

格式一■:[y]格式二:s

MATLAB

Fite£d<tyitwWt电

口nr»•

exp(-a*t)

w

Cl*exp(-a*z)

»

:土思彼力

・开阍|90S*I网Micros…|■MATLAB|PowerPoL.II铢C:WA...4♦净X。%。21:41

注意因变量的一致性[y][u]

不指出自变量,默认为t

最后一个结果是因为没有给出初值

(2)求解微分方程组

d”*

dz

半=§加匕)

dt

“(0)=1

”,(0)=0

(exno23t)

特别需要注意的是,不是任何微分方程都能进行

符号微分方程的求解,无解析解的微分方程需要用数

值求解的方法进行,有关问题将在后面介绍。

结构输出方式:只是一个量的话全显示,是多个的话就会只显示各个量的大小

要显示各个量的话用V.U或V.W

6.符号变量与数值变量的转换

符号变量的运算结果仍然是符号变量,需要进行

数值转换,有下面的相关函数:

(1)vpa(f,d):将符号函数f进行数值转变,有效位数

为d。

(2)double(f):将不含自由变量的符号函数f作数值

变换。有效位数固定为5位。

(3)subs(f,old,new):将符号表达式f中的自由变量

名old替换为新变量名new。

注意:符号函数f中的自由变量是指非阿拉伯数值字符

的符号变量。

练习4-5求下列函数的根

r=x2-x3-1

程序

symsx

f=sym(l-xA3+xA2-1=0')

v=solve(f)

w=vpa(v,2)

u=double(v)exnol3)

最后两步因为精度的关系,得到的结果可能不同

第五章数据可视化

第一节符号函数的函数图

1.平面分图位置函数subplot(nmj)

n:行m:列j:编号。

2.二维直角坐标符号函数绘图

(1)ezplot(f,[xl,x2])

f:含单变量的符号函数。

xl,x2:自变量的取值范围,默认值为[2pi,2pi]。

Ezplot:表示用符号函数来画图,不加ez默认为用数据来画图

(2)ezplot(*u(x,y)\[xl,x2],[yl,y2])

两变量隐函数u(x,y)=0

[xl,x2][yl,y2]:表示两个变量的取值范围。

(3)ezplot(x,y,[tl,t2])

x=f(t)y=g(t)是参数方程。

tl,t2:参变量的取值范围。(exno25l)

3.三维直角坐标符号函数绘图

ezplot3(x,y,z,[tl,t2j)

x=f(t)y=g(t)zh(t)是参数方程。

tl,t2:参变量的取值范围。(exno26t)

Exno25t:

f=sym('xA2+r)

subplot(221)

ezplot(f,[-2,2])

subplot(222)

ezplotCy-xA2-l,,[-2,2],[0,10J)

x=sym(*cos(t),)

y=sym(,sin(t)1)

subplot(223)

ezplot(x,y)

Exno26t:

x-symCcos(t)?)

y=sym(sin(t),)

z二sym(、t'2’)

subplot(224)"

ezplot3(x,y,z)

得到的图像:

}FigureZo.1也2L

E*teEd*yewinsertJjoote地ndowhelp

.口④QmkA//@6c

4.二维平面极坐标符号函数绘图

ezpolar(r,[xl,x2])

函数r是幅值,自变量是极角,[xl,x2]是极角

的取值范围。

练习5-1在极坐标下给出下面的函数图

1/•:4§in(3〃)

Exno27t:

r=sym('4*sin(3*x)')

ezpolar(r,[0,2*pi])

图像:r=4sin<3x)

第二节2D数据图

1.二维数据的形式

(1)两个元素同为n的行向量。

(2)一个二维(nxm)矩阵。(n:行.m:列)

2二维数据的图形

(1)两个元素同为n的行向量,各对应的元素在平

面上确定n个点连成一条曲练

(2)二维矩阵(nxm)的每一列元数可构成n个点的

曲线。曲线的横坐标为行数。*,…的,纵坐标为该

列相应的元素。此矩阵可表示为添曲线(列操作)。

第一个就相当于二维(x,y)各点连在一起形成的曲线

第二个相当于(a,x)各点连在一起形成的曲线

(a,y)各点连在一起形成的曲线

(a,z)各点连在一起形成的曲线..........

(a,m)各点连在一起形成的曲线a为行号:1,2,,3°

(3)两个同维的(nxm)二维矩阵(X.Y)可表示为m条

曲线。每条曲线的横、纵坐标分别为X和Y对应的列向量各

元素。(列操作)

3建立二维数据图形的函数

(1)设xl和yl,x2和y2…为多组行向量.则

plot(xl,yl,x2,y2…)绘出多条曲线<,xl,x2…是横坐标

行向量.yi,y2…是纵坐标行向量。

(2)设x为二维(nxm)矩阵,则

Plot(x)绘出m条曲线。矩阵的行数为横坐标,各列的元素

为纵坐标。

(3)设x和y分别为二维(nxm)矩阵,则

Plot(x,y)绘出m条曲缥每条曲线的横、纵坐标分别

为X和Y对应的列向量各元素。(列操作)(exno28l)

(4)与plot对应的绘图函数还有以下一些,他们的调

用格式相同,坐标刻度不同:

1)Plot双轴线性刻度。

2)Loglog双轴对数刻度。

3)Semilogxx轴对数刻度,y轴线性刻度。

4)Semilogyy轴对数刻度,x轴线性刻度。

Exno28t:

x=0:0.1:8

yl=sin(x);

y2=cos(x);

subplot(221)

plot(x,yl)

subplot(222)

plot(x,yl,x,y2)

w=[23;31;46]

subplot(223)

plot(w)

q=[46;35;12]

subplot(224)

plot(w,q)

图像:

5)Ployy双y轴,适合两组数据相差大的数

据组。(exno29t)

4.二维数据图形的绘图控制

(1)控制曲线的颜色Colors、线型Linestyles、标

志Mrkers。基本格式:

plot(X,y,'elm')

1)颜色

B蓝,C青(cyan).G绿.K黑(black).M紫(magenta)

R红,W白,y黄。

Exno29t:

x=0:0.1:10

yq=sin(x)

y2=exp(x)

y3-exp(x).*sin(x)

y3=exp(x).*sin(x)

subplot(221)

plot(x,y2)

subplot(222)

loglog(x,y2)

subplot(223)

plotyy(x,yl,x,y2)

subplot(224)

semilogy(x,y2)

结果:

Plot(x,y,'clm'):elm指color、linestyles>makers

2)线型

-实线一虚线:点线点画线

3)标志

<左三角.>右三角.*星号.■•加号..小黑点.

圆I圈.v下三角.上三角,square方型.

diamond菱型.pentagram五角星.hexagram六角星.

none无

例如plot(x,y,«Rsquare,)代表以红色的虚线、数据

点上用方型符号的曲线o

(2)控制曲线的坐标轴:

axisnormal正常。rgridon(off)网格

axissquare长宽比例为1。boxon(off)外围矩型

axisequal长宽比例为不变,两刻度一致。

axisequaltight长宽比例为不变.图紧贴轴。

axis([xl,xl,yl,y2])控制坐标轴的范围。

axisoff取消坐标轴。

(exno31)

网格字打错了应为gridon

倒第二个是x2

Exno31t:

x=0:0.1:8.0

yl=sin(x)

y2=cos(x)

subplot(221)

plot(x,yl?rsquare',x,y2,,b.*)

boxon

giidon

subplot(222)

plot(x,yl,'k:pentagram',x,y2,'b.*')

axisequaltight

boxoff

gridoff

subplot(223)

plot(yl,y2,'k")

axisequal

axisoff

subplot(224)

plot(yl?y2,'b>')

axison

结果

(3)曲线图中加入文字标注:

1)Title给曲线图加标题。

2)Xlable给曲线图轴加标题。

3)Ylable给曲线图轴加标题。

4)Zlable给曲线图轴加标题。

5)Legend对当前图加图注。

6)Text对指定位置加字符串。

7)Gtext在鼠标的位置加字符串。(exno32)

注:上述函数的引用中.由'引导的英文可表示不同

的意义。如\alpha表示希腊字符a等。

Exno32t:

x=0:0.1:8

plot(x,sin(x),x,cos(x))

title('主题)

xlabel(\alpha)

ylabel('h'2)

legend('1,2')

text(pi/4,sin(pi/4),leftarrowsin(pi/4)~0.707')

gtext(string')

十字叉是由gtest导致的

第三节3D数据图

3D与2D绘图的语句结构基本相同,仅绘图函数不同。

1.x,y,z分别是向量

plot3(x,y,z)绘制一条三维曲线。

2.x,y,z分别是同维矩阵(nXm)

Plot3(x,y,z)绘制m条三维曲线(按列操作)。

3.三维网状图mesh

(1)一般meshezmesh(符号函数)。

(2)带等高线meshcezmeshc(符号函数)。

(3)加围裙meshzo

4.三维曲面图surf

⑴一般surfzsurf(符号函数)。

(2)带等高线surfcezsurfc(符号函数)O

(3)加光源surflo

4(1)ezsurf

5.等高线contour

(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论