最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

matlab符号运算

来源:动视网 责编:小OO 时间:2025-09-24 23:49:37
文档

matlab符号运算

 MATLAB程序设计教程(9)——MATLAB符号计算    by:ysuncn(欢迎转载,请注明原创信息)第9章 MATLAB符号计算9.1 符号对象9.2 符号微积分9.3 级 数9.4 符号方程求解 9.1 符号对象9.1.1 建立符号对象1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、
推荐度:
导读 MATLAB程序设计教程(9)——MATLAB符号计算    by:ysuncn(欢迎转载,请注明原创信息)第9章 MATLAB符号计算9.1 符号对象9.2 符号微积分9.3 级 数9.4 符号方程求解 9.1 符号对象9.1.1 建立符号对象1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、
 MATLAB程序设计教程(9)——MATLAB符号计算      

by:ysuncn(欢迎转载,请注明原创信息)

第9章  MATLAB符号计算

9.1  符号对象

9.2  符号微积分

9.3  级  数

9.4  符号方程求解

 

9.1  符号对象

9.1.1  建立符号对象

1.建立符号变量和符号常量

MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。

(1) sym函数

sym函数用来建立单个符号量,一般调用格式为:

符号量名=sym('符号字符串')

该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。

应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。

 (2) syms函数

函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:

syms  符号变量名1 符号变量名2 … 符号变量名n

用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。

2.建立符号表达式

含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:

(1)利用单引号来生成符号表达式。

(2)用sym函数建立符号表达式。

(3) 使用已经定义的符号变量组成符号表达式。

 

9.1.2  符号表达式运算

1.符号表达式的四则运算

符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。

2.符号表达式的提取分子和分母运算

如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:

[n,d]=numden(s)

该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。

3.符号表达式的因式分解与展开

MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:

factor(s):对符号表达式s分解因式。

expand(s):对符号表达式s进行展开。

collect(s):对符号表达式s合并同类项。

collect(s,v):对符号表达式s按变量v合并同类项。

4.符号表达式的化简

MATLAB提供的对符号表达式化简的函数有:

simplify(s):应用函数规则对s进行化简。

simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。

5.符号表达式与数值表达式之间的转换

利用函数sym可以将数值表达式变换成它的符号表达式。

函数numeric或eval可以将符号表达式变换成数值表达式。

9.1.3  符号表达式中变量的确定

MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:

findsym(s,n)

函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。

 

9.1.4  符号矩阵

符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。

由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如

transpose(s):返回s矩阵的转置矩阵。

determ(s):返回s矩阵的行列式值。

其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。

 

9.2  符号微积分

9.2.1  符号极限

limit函数的调用格式为:

(1) limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。

(2) limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,即变量x趋近于a。

 

(3) limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。

(4) limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。

(5) limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。

 

例9-1  求下列极限。

极限1:

syms a m x;

f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(x+a);

limit(f,x,a)

ans =

(1/2*a*exp(sin(a))+1/2*a-exp(tan(a))+1)/a

极限2:

syms x t;

limit((1+2*t/x)^(3*x),x,inf)

ans =

exp(6*t)

 

极限3:

syms x;

f=x*(sqrt(x^2+1)-x);

limit(f,x,inf,'left')

ans =

1/2

极限4:

syms x;

f=(sqrt(x)-sqrt(2)-sqrt(x-2))/sqrt(x*x-4);

limit(f,x,2,'right')

ans =

-1/2

 

9.2.2  符号导数

diff函数用于对符号表达式求导数。该函数的一般调用格式为:

diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。

diff(s,'v'):以v为自变量,对符号表达式s求一阶导数。

diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。

diff(s,'v',n):以v为自变量,对符号表达式s求n阶导数。

例9-2  求下列函数的导数。

 

9.2.3  符号积分

符号积分由函数int来实现。该函数的一般调用格式为:

int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。

int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。

int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间[a,b]上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。

例9-3  求下列积分。

 

9.2.4  积分变换

常见的积分变换有傅立叶变换、拉普拉斯变换和Z变换。

1.傅立叶(Fourier)变换

在MATLAB中,进行傅立叶变换的函数是:

fourier(f,x,t):求函数f(x)的傅立叶像函数F(t)。

ifourier(F,t,x):求傅立叶像函数F(t)的原函数f(x)。

例9-4  求函数y=的傅立叶变换及其逆变换。

 

2.拉普拉斯(Laplace)变换

在MATLAB中,进行拉普拉斯变换的函数是:

laplace(fx,x,t):求函数f(x)的拉普拉斯像函数F(t)。

ilaplace(Fw,t,x):求拉普拉斯像函数F(t)的原函数f(x)。

例9-5  计算y=x3的拉普拉斯变换及其逆变换。

 

3.Z变换

当函数f(x)呈现为一个离散的数列f(n)时,对数列f(n)进行z变换的MATLAB函数是:

ztrans(fn,n,z):求fn的Z变换像函数F(z)。

iztrans(Fz,z,n):求Fz的z变换原函数f(n)。

例9-6  求数列 fn=e-2n的Z变换及其逆变换。

 

9.3  级  数

9.3.1  级数符号求和

求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:

symsum(s,v,n,m)

其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。

例9-7  求下列级数之和。

 

9.3.2  函数的泰勒级数

MATLAB提供了taylor函数将函数展开为幂级数,其调用格式为:

taylor(f,v,n,a)

该函数将函数f按变量v展开为泰勒级数,展开到第n项(即变量v的n-1次幂)为止,n的缺省值为6。v的缺省值与diff函数相同。参数a指定将函数f在自变量v=a处展开,a的缺省值是0。

例9-8  求函数在指定点的泰勒级数展开式。

 

9.4  符号方程求解

9.4.1  符号代数方程求解

在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为:

solve(s):求解符号表达式s的代数方程,求解变量为默认变量。

solve(s,v):求解符号表达式s的代数方程,求解变量为v。

solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式s1,s2,…,sn组成的代数方程组,求解变量分别v1,v2,…,vn。

例9-9  解下列方程。

 

9.4.2  符号常微分方程求解

在MATLAB中,用大写字母D表示导数。例如,Dy表示y',D2y表示y'',Dy(0)=5表示y'(0)=5。D3y+D2y+Dy-x+5=0表示微分方程y'''+y''+y'-x+5=0。符号常微分方程求解可以通过函数dsolve来实现,其调用格式为:

dsolve(e,c,v)

该函数求解常微分方程e在初值条件c下的特解。参数v描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件c,则求方程的通解。

dsolve在求常微分方程组时的调用格式为:

dsolve(e1,e2,…,en,c1,…,cn,v1,…,vn)

该函数求解常微分方程组e1,…,en在初值条件c1,…,cn下的特解,若不给出初值条件,则求方程组的通解,v1,…,vn给出求解变量。

例9-10  求下列微分方程的解。

 

  

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1741856

 MATLAB程序设计教程(10)——MATLAB图形句柄      

 by:ysuncn(欢迎转载,请注明原创信息)

 

第10章  MATLAB图形句柄

10.1  图形对象及其句柄

10.2  图形对象属性

10.3  图形对象的创建

 

10.1  图形对象及其句柄

1.图形对象

MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。系统将每一个对象按树型结构组织起来。

 

2.图形对象句柄

MATLAB在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为图形对象句柄(Handle)。句柄是图形对象的唯一标识符,不同对象的句柄不可能重复和混淆。

计算机屏幕作为根对象由系统自动建立,其句柄值为0,而图形窗口对象的句柄值为一正整数,并显示在该窗口的标题栏,其他图形对象的句柄为浮点数。MATLAB提供了若干个函数用于获取已有图形对象的句柄。

例10-1  绘制曲线并查看有关对象的句柄。

 

10.2  图形对象属性

1.属性名与属性值

MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值称为属性值。

2.属性的操作

set函数的调用格式为:

set(句柄,属性名1,属性值1,属性名2,属性值2,…)

其中句柄用于指明要操作的图形对象。如果在调用set函数时省略全部属性名和属性值,则将显示出句柄所有的允许属性。

get函数的调用格式为:

V=get(句柄,属性名)

其中V是返回的属性值。如果在调用get函数时省略属性名,则将返回句柄所有的属性值。

 

3.对象的公共属性

对象常用的公共属性:Children属性、Parent属性、Tag属性、Type属性、UserData属性、Visible属性、ButtonDownFcn属性、CreateFcn属性、DeleteFcn属性。

例10-2  在同一坐标下绘制红、绿两根不同曲线,希望获得绿色曲线的句柄,并对其进行设置。

 

10.3  图形对象的创建

10.3.1  图形窗口对象

建立图形窗口对象使用figure函数,其调用格式为:

句柄变量=figure(属性名1,属性值1,属性名2,属性值2,…)

MATLAB通过对属性的操作来改变图形窗口的形式。也可以使用figure函数按MATLAB缺省的属性值建立图形窗口:

figure  或  句柄变量=figure

要关闭图形窗口,使用close函数,其调用格式为:

close(窗口句柄)

另外,close all 命令可以关闭所有的图形窗口,clf命令则是清除当前图形窗口的内容,但不关闭窗口。

 

MATLAB为每个图形窗口提供了很多属性。这些属性及其取值控制着图形窗口对象。除公共属性外,其他常用属性如下:MenuBar属性、Name属性、NumberTitle属性、Resize属性、Position属性、Units属性、Color属性、Pointer属性、KeyPressFcn(键盘键按下响应)、WindowButtonDownFcn(鼠标键按下响应)、WindowButtonMotionFcn(鼠标移动响应)及WindowButtonUpFcn(鼠标键释放响应)等。

 

例10-3  建立一个图形窗口。该图形窗口没有菜单条,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为450像素点和250像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将在该图形窗口绘制出正弦曲线。

 

10.3.2  坐标轴对象

建立坐标轴对象使用axes函数,其调用格式为:

句柄变量=axes(属性名1,属性值1,属性名2,属性值2,…)

调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量。也可以使用axes 函数按MATLAB缺省的属性值在当前图形窗口创建坐标轴:

axes  或  句柄变量= axes

用axes 函数建立坐标轴之后,还可以调用axes 函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:

axes(坐标轴句柄)

 

MATLAB为每个坐标轴对象提供了很多属性。除公共属性外,其他常用属性如下:Box属性、GridLineStyle属性、Position属性、Units属性、Title属性等。

例10-4  利用坐标轴对象实现图形窗口的任意分割。

利用axes函数可以在不影响图形窗口上其他坐标轴的前提下建立一个新的坐标轴,从而实现图形窗口的任意分割。

 

10.3.3  曲线对象

建立曲线对象使用line函数,其调用格式为:

句柄变量=line(x,y,z,属性名1,属性值1,属性名2,属性值2,…)

其中对x,y,z的解释与高层曲线函数plot和plot3等一样,其余的解释与前面介绍过的figure和axes函数类似。

每个曲线对象也具有很多属性。除公共属性外,其他常用属性如下:Color属性、LineStyle属性、LineWidth属性、Marker属性、MarkerSize属性等。

例10-5  利用曲线对象绘制曲线。

 

10.3.4  文字对象

使用text函数可以根据指定位置和属性值添加文字说明,并保存句柄。该函数的调用格式为:

句柄变量=text(x,y,z,'说明文字',属性名1,属性值1,属性名2,属性值2,…)

其中说明文字中除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符。

除公共属性外,文字对象的其他常用属性如下:Color属性、String属性、Interpreter属性、FontSize属性、Rotation属性。

例10-6  利用曲线对象绘制曲线并利用文字对象完成标注。

 

10.3.5  曲面对象

建立曲面对象使用surface函数,其调用格式为:

句柄变量=surface(x,y,z,属性名1,属性值1,属性名2,属性值2,…)

其中对x,y,z的解释与高层曲面函数mesh和surf等一样,其余的解释与前面介绍过的figure和axes等函数类似。

每个曲面对象也具有很多属性。除公共属性外,其他常用属性如下:EdgeColor属性、FaceColor属性、LineStyle属性、LineWidth属性、Marker属性、MarkerSize属性等。

例10-7  利用曲面对象绘制三维曲面z=sin(x)。

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1741857

 MATLAB程序设计教程(11)——MATLAB图形用户界面设计      

by:ysuncn(欢迎转载,请注明原创信息)

第11章  MATLAB图形用户界面设计

11.1  菜单设计

11.2  对话框设计

11.3  图形用户界面设计工具

11.1  菜单设计

11.1.1  建立用户菜单

要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。

    建立一级菜单项的函数调用格式为:

    一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)

    建立子菜单项的函数调用格式为:

    子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)

11.1.2  菜单对象常用属性

    菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。

例11-1  建立图11-1所示的图形演示系统菜单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图11-1所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。

 11.1.3  快捷菜单

快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为:

(1) 利用uicontextmenu函数建立快捷菜单。

(2) 利用uimenu函数为快捷菜单建立菜单项。

(3) 利用set函数将该快捷菜单和某图形对象联系起来。

例11-2  绘制曲线y=2sin(5x)sinx,并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。

11.2  对话框设计

11.2.1  对话框的控件

在对话框上有各种各样的控件,利用这些控件可以实现有关控制。下面先介绍这些控件。

    (1) 按钮(Push Button)。

    (2) 双位按钮(Toggle Button)。

    (3) 单选按钮(Radio Button)。

    (4) 复选框(Check Box)。

    (5) 列表框(List Box)。

    (6) 弹出框(Popup Menu)。

    (7) 编辑框(Edit Box)。

    (8) 滑动条(Slider)。

    (9) 静态文本(Static Text)。

    (10) 边框(Frame)。

11.2.2  对话框的设计

1.建立控件对象

    MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:

    对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)

其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。

2.控件对象的属性

    MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。

例11-3  建立如图11-10所示的数制转换对话框。在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。

例11-4  建立如图11-11所示的图形演示对话框。在编辑框输入绘图命令,当单击“绘图”按钮时,能在左边坐标轴绘制所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。

 

11.3  图形用户界面设计工具

MATLAB的用户界面设计工具共有6个,它们是:

(1) 图形用户界面设计窗口:在窗口内创建、安排各种图形对象。

(2) 菜单编辑器(Menu Editor):创建、设计、修改下拉式菜单和快捷菜单。

(3) 对象属性查看器(Property Inspector):可查看每个对象的属性值,也可修改设置对象的属性值。

(4) 位置调整工具(Alignment Tool):可利用该工具左右、上下对多个对象的位置进行调整。

(5) 对象浏览器(Object Browser):可观察当前设计阶段的各个句柄图形对象。

(6) Tab顺序编辑器(Tab Order Editor):通过该工具,设置当用户按下键盘上的Tab键时,对象被选中的先后顺序。

11.3.1  图形用户界面设计窗口

1.GUI设计模板

在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。

MATLAB为GUI设计一共准备了4种模板,分别是Blank GUI(默认) 、GUI with Uicontrols(带控件对象的GUI模板) 、GUI with Axes and Menu(带坐标轴与菜单的GUI模板)与Modal Question Dialog(带模式问话对话框的GUI模板)。

当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。

2.GUI设计窗口

在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。

GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help 6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。

3.GUI设计窗口的基本操作

在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个Push Button对象,并设计该对象的属性值。

11.3.2  对象属性查看器

利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,从GUI设计窗口工具栏上选择Property Inspector命令按钮,或者选择View菜单下的Property Inspector子菜单,就可以打开对象属性查看器。另外,在MATLAB命令窗口的命令行上输入inspect,也可以看到对象属性查看器。

在选中某个对象后,可以通过对象属性查看器,查看该对象的属性值,也可以方便地修改对象属性的属性值。

11.3.3  菜单编辑器

利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。从GUI设计窗口的工具栏上选择Menu Editor命令按钮,或者选择Tools菜单下的Menu Editor子菜单,就可以打开菜单编辑器。

菜单编辑器左上角的第一个按钮用于创建一级菜单项。第二个按钮用于创建一级菜单的子菜单。

菜单编辑器的左下角有两个按钮,选择第一个按钮,可以创建下拉式菜单。选择第二个按钮,可以创建Context Menu菜单。选择它后,菜单编辑器左上角的第三个按钮就会变成可用,单击它就可以创建Context Menu主菜单。在选中已经创建的Context Menu主菜单后,可以单击第二个按钮创建选中的Context Menu主菜单的子菜单。与下拉式菜单一样,选中创建的某个Context Menu菜单,菜单编辑器的右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。

菜单编辑器左上角的第四个与第五个按钮用于对选中的菜单进行左移与右移,第六与第七个按钮用于对选中的菜单进行上移与下移,最右边的按钮用于删除选中的菜单。

11.3.4  位置调整工具

利用位置调整工具,可以对GUI对象设计区内的多个对象的位置进行调整。从GUI设计窗口的工具栏上选择Align Objects命令按钮,或者选择Tools菜单下的Align Objects菜单项,就可以打开对象位置调整器。

对象位置调整器中的第一栏是垂直方向的位置调整。

对象位置调整器中的第二栏是水平方向的位置调整。

在选中多个对象后,可以方便的通过对象位置调整器调整对象间的对齐方式和距离。

11.3.5  对象浏览器

利用对象浏览器,可以查看当前设计阶段的各个句柄图形对象。从GUI设计窗口的工具栏上选择Object Browser命令按钮,或者选择View菜单下的Object Browser子菜单,就可以打开对象浏览器。例如,在对象设计区内创建了3个对象,它们分别是Edit Text、Push Button、ListBox对象,此时单击Object Browser按钮,可以看到对象浏览器。

在对象浏览器中,可以看到已经创建的3个对象以及图形窗口对象figure。用鼠标双击图中的任何一个对象,可以进入对象的属性查看器界面。

11.3.6  Tab顺序编辑器

利用Tab顺序编辑器(Tab Order Editor),可以设置用户按键盘上的Tab键时,对象被选中的先后顺序。选择Tools菜单下的Tab Order Editor菜单项,就可以打开Tab顺序编辑器。例如,若在GUI设计窗口中创建了3个对象,与它们相对应的Tab顺序编辑器。

   例11-5  利用GUI设计工具设计图11-23所示的用户界面。该界面包括一个用于显示图形的轴对象,显示的图形包括表面图、网格图或等高线图。绘制图形的功能通过3个命令按钮来实现,用户通过单击相应的按钮,即可绘制相应图形。绘制图形所需要的数据通过一个弹出框来选取。在弹出框中包括3个选项,分别对应MATLAB的数据函数peaks、membrane和用户自定义的绘图数据sinc,用户可以通过选择相应的选项来载入相应的绘图数据。在图形窗口缺省的菜单条上添加一个菜单项Select,Select下又有两个子菜单项Yellow和Red,选中Yellow项时,图形窗口将变成黄色,选中Red项时,图形窗口将变成红色。

 

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1741860

 MATLAB程序设计教程(13)——在Word环境下使用MATLAB      

by:ysuncn(欢迎转载,请注明原创信息)

第13章  在Word环境下使用MATLAB

13.1  Notebook操作基础

13.2  单元的使用

13.3  输出格式控制

 

13.1  Notebook操作基础

13.1.1  Notebook的安装

首先安装Word 2002,然后启动MATLAB,在其命令窗口输入:

notebook -setup

此时,用户根据所用Word版本,在最后一行提示后面输入对应序号,并按回车键。于是MATLAB会自动寻找winword.exe的安装路径,并在该路径下寻找模板文件normal.dot。如果找到了,则出现提示:

Notebook setup is complete.

表示Notebook安装结束。

13.1.2  Notebook的启动

启动Notebook有两种方法:从Word中启动或从MATLAB命令窗口启动。

1.从MATLAB中启动Notebook

2.从Word中启动Notebook

13.1.3  Notebook界面

M-book模板为用户提供了在Word环境下使用MATLAB的功能。该模板定义了Word与MATLAB进行通讯的宏指令、文档样式和工具栏。当调用该模板时的Word界面和通常的Word界面主要有两点区别:

(1) 在菜单栏中多了一个Notebook菜单项,Notebook的许多操作都可以通过该菜单项的命令来完成。

(2) 在“文件”菜单项下多了一个New M-book命令项。如果在M-book模板下要建立新的M-book文档,可以选择该命令。

 

13.2  单元的使用

13.2.1  输入输出单元

1.输入单元

定义输入单元的方法是:首先选中所需命令,然后在Notebook菜单项中选择Define Input Cell命令,于是被选中的MATLAB命令成为输入单元。定义输入单元也可以在选中所需命令后,直接按组合键Alt+D。

为了执行输入单元,应选择Notebook菜单项中的Evaluate Cell命令或直接按组合键Ctrl+Enter。

2.输出单元 

输入单元执行后产生输出单元。如果输入单元经修改后重新执行,那么新的输出单元将替换原有的输出单元。图形的输出格式则通过Notebook菜单中的Notebook Options来设置。

例13-1  在M-book文档中定义输入单元,要求产生一个5阶魔方阵,并求相应的逆矩阵和各元素的倒数矩阵。

操作步骤如下:

(1) 在文档中输入MATLAB命令:

(2) 选中命令行,在Notebook菜单项中选Define Input Cell命令或直接按组合键Alt+D,于是命令行就变成了“绿色”的输入单元。  

(3) 若要把输入单元送去执行,则可用Notebook菜单项中的Evaluate Cell命令或直接按组合键Ctrl+Enter,执行后产生“蓝色”的输出单元:  

       输入单元的定义与执行也可以同时进行。先选中MATLAB命令,然后从Notebook菜单项中选择Evaluate Cell命令或直接按组合键Ctrl+Enter,不但使被选中的命令成为输入单元,而且送去执行,产生输出单元。

例13-2  输入单元定义与执行同时进行。

在英文状态下,以文本方式键入命令,然后选中命令并按Ctrl+Enter键,则得到输入、输出单元。

13.2.2  自动初始化单元

可以把文本形式的MATLAB命令或已经存在的输入单元定义为自初始化单元。其方法是:先选中它们,然后选择Notebook菜单中的Define AutoInit Cell命令即可。

在打开M-book文档以后,新定义的自动初始化并不会自动执行,须另外进行运行操作。运行自活细胞的方法同输入细胞一样,选择Eva1uate Cell菜单命令或按Ctrl+Enter键。

13.2.3  单元组

定义单元组的方法如下:

(1) 对输入的多行文本型MATLAB命令,用鼠标把它们同时选中,然后在Notebook菜单中选择Define Input Cell或Define AutoInit Cell命令,便生成输入单元组或自初始化单元组。

(2) 对输入的多行文本型MATLAB命令,用鼠标把它们同时选中,然后在Notebook菜单中选择Evaluate Cell或按组合键Ctrl+Enter,于是单元组被定义并执行。

(3) 把已有的多个输入单元或自初始化单元同时选中,然后在Notebook菜单中选择Group Cells,于是,便获得以第一个单元的性质组合而成的单元组。

例13-3  对循环结构使用单元组。

例13-4  使用单元组产生完整图形。

13.2.4  计算区

定义计算区的方法是:先选定包含普通Word文本、输入单元和输出单元的一个连续区,然后选择Notebook菜单中的Define Calc Zone命令。

一旦计算区被定义后,不管光标在计算区的什么位置,只要选择Notebook菜单中的Evaluate Calc Zone命令即可执行计算区中的全部输入单元,且在每个输入单元后面以输出单元形式给出相应的计算结果。

13.2.5  单元的其他操作

1.单元的循环执行

利用Notebook菜单中的Evaluate Loop命令可实现单元的循环执行。

例13-5  单元的循环执行。

2.整个M-book文档输入单元的执行

Notebook菜单项中的Evaluate M-book命令可以把整个M-book文档中的所有输入单元送到MATLAB中去执行。

3.删去M-book文档中所有输出单元

Notebook菜单项中的Purge Output Cells命令可以删去M-book文档中所有输出单元。

4.单元转化为文本

单元转化为文本的方法是:选定单元,再选择Notebook菜单中的Undefine Cells命令。或将光标置于单元之中,按组合键Alt+U。

13.3  输出格式控制

输出格式控制包括输出数据控制和输出图形控制。可以通过Notebook菜单中的Notebook Options命令来实现。

13.3.1  数据输出控制

1.输出数据的表示方式

2.输出数据间的空行控制

13.3.2  图形输出控制

1.图形镶嵌的控制

2.曲面图色彩控制

3.图形背景色的控制

4.图形大小的控制

13.3.3  修改M-book模板的样式

选取Word“格式”菜单中的“样式”选项,弹出样式对话框。在“样式”列表框中选择Output,然后单击“更改”按钮,弹出更改样式对话框,进行有关设置。

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1741867

 MATLAB程序设计教程(4)——MATLAB文件操作      

by:ysuncn(欢迎转载,请注明原创信息)

第4章  MATLAB文件操作

4.1 文件的打开与关闭

4.2  文件的读写操作

4.3  数据文件定位

4.1 文件的打开与关闭

4.1.1 文件的打开

fopen函数的调用格式为:

fid= fopen(文件名,打开方式)

其中文件名用字符串形式,表示待打开的数据文件。常见的打开方式有:‘r’表示对打开的文件读数据,‘w’表示对打开的文件写数据,‘a’表示在打开的文件末尾添加数据。

fid用于存储文件句柄值,句柄值用来标识该数据文件,其他函数可以利用它对该数据文件进行操作。

文件数据格式有两种形式,一是二进制文件,二是文本文件。在打开文件时需要进一步指定文件格式类型,即指定是二进制文件还是文本文件。

4.1.2 文件的关闭

文件在进行完读、写等操作后,应及时关闭。关闭文件用fclose函数,调用格式为:

sta=fclose(fid)

该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回–1。

4.2  文件的读写操作

4.2.1 二进制文件的读写操作

1.读二进制文件

fread 函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:

[A,COUNT]=fread(fid,size, precision)

其中A用于存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,size为可选项,若不选用则读取整个文件内容,若选用则它的值可以是下列值:

(1) N表示读取 N个元素到一个列向量。

(2) Inf表示读取整个文件。

(3) [M,N]表示读数据到M×N的矩阵中,数据按列存放。

precision代表读写数据的类型

2.写二进制文件

fwrite 函数按照指定的数据类型将矩阵中的元素写入到文件中。其调用格式为:

COUNT=fwrite (fid, A, precision)

其中COUNT返回所写的数据元素个数,fid为文件句柄,A用来存放写入文件的数据,precision用于控制所写数据的类型,其形式与fread函数相同。

例4-1  建立一数据文件magic5.dat,用于存放5阶魔方阵。

程序如下:

fid=fopen(‘magic5.dat’,‘w’);

cnt=fwrite(fid,magic(5),‘int32’);

fclose(fid);

4.2.2  文本文件的读写操作

1.读文本文件

fscanf 函数的调用格式为:

[A,COUNT]= fscanf (fid, format, size)

其中A用以存放读取的数据,COUNT返回所读取的数据元素个数。fid为文件句柄。format用以控制读取的数据格式,由%加上格式符组成,常见的格式符有d,f,c,s。

size为可选项,决定矩阵A中数据的排列形式。

2.写文本文件

fprintf 函数的调用格式为:

COUNT= fprintf(fid, format, A)

其中A存放要写入文件的数据。先按format指定的格式将数据矩阵A格式化,然后写入到fid所指定的文件。格式符与fscanf函数相同。

4.3  数据文件定位

MATLAB提供了与文件定位操作有关的函数fseek和ftell。fseek函数用于定位文件位置指针,其调用格式为:

status=fseek(fid, offset, origin)

其中fid为文件句柄,offset表示位置指针相对移动的字节数,origin表示位置指针移动的参照位置。若定位成功,status返回值为0,否则返回值为–1。

ftell函数返回文件指针的当前位置,其调用格式为:

position=ftell (fid)

返回值为从文件开始到指针当前位置的字节数。若返回值为–1表示获取文件当前位置失败。Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1741828

文档

matlab符号运算

 MATLAB程序设计教程(9)——MATLAB符号计算    by:ysuncn(欢迎转载,请注明原创信息)第9章 MATLAB符号计算9.1 符号对象9.2 符号微积分9.3 级 数9.4 符号方程求解 9.1 符号对象9.1.1 建立符号对象1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top