实验四MATLAB符号运算.doc

上传人:b****1 文档编号:181043 上传时间:2022-10-05 格式:DOC 页数:12 大小:135KB
下载 相关 举报
实验四MATLAB符号运算.doc_第1页
第1页 / 共12页
实验四MATLAB符号运算.doc_第2页
第2页 / 共12页
实验四MATLAB符号运算.doc_第3页
第3页 / 共12页
实验四MATLAB符号运算.doc_第4页
第4页 / 共12页
实验四MATLAB符号运算.doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验四MATLAB符号运算.doc

《实验四MATLAB符号运算.doc》由会员分享,可在线阅读,更多相关《实验四MATLAB符号运算.doc(12页珍藏版)》请在冰豆网上搜索。

实验四MATLAB符号运算.doc

实验四MATLAB符号运算

一、实验目的

掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。

二、实验内容

(1)符号变量、表达式、方程及函数的表示。

(2)符号微积分运算。

(3)符号微分方程求解。

三、实验步骤

1.符号运算的引入

在数值运算中如果求则可以不断地让x趋近0,以求得表达式趋近什么数,但是终究不能令x=0,因为在数值运算中0是不能作除数的。

MATLAB的符号运算能解决这类问题。

输入如下命令:

>>f=sym('sin(pi*x)/x')

>>limit(f,’x’,0)

2.符号常量、符号变量、符号表达式的创建

(1)使用sym()创建

输入以下命令,观察Workspace中A、B、f是什么类型的数据,占用多少字节的内存空间。

>>A=sym('1')%符号常量

>>B=sym('x')%符号变量

>>f=sym('2*x^2+3y-1')%符号表达式

>>clear

>>f1=sym('1+2')%有单引号,表示字符串

>>f2=sym(1+2)%无单引号

>>f3=sym('2*x+3')

>>f4=sym(2*x+3)%为什么会出错

答:

 没有单引号!

>>x=1

>>f4=sym(2*x+3)

通过看MATLAB的帮助可知,sym()的参数可以是字符串或数值类型,无论是哪种类型都会生成符号类型数据。

(2)使用syms创建

>>clear

>>symsxyz%注意观察x,y,z都是什么类型的,它们的内容是什么

>>x,y,z

>>f1=x^2+2*x+1

>>f2=exp(y)+exp(z)^2

>>f3=f1+f2

通过以上实验,知道生成符号表达式的第二种方法:

由符号类型的变量经过运算(加减乘除等)得到。

又如:

>>f1=sym('x^2+y+sin

(2)')

>>symsxy

>>f2=x^2+y+sin

(2)

>>x=sym('2'),y=sym('1')

>>f3=x^2+y+sin

(2)

>>y=sym('w')

>>f4=x^2+y+sin

(2)

3.符号矩阵创建

>>symsa1a2a3a4

>>A=[a1a2;a3a4]

>>A

(1),A(3)

或者

>>B=sym('[b1b2;b3b4]')

>>c1=sym('sin(x)')

>>c2=sym('x^2')

>>c3=sym('3*y+z')

>>c4=sym('3')

>>C=[c1c2;c3c4]

4.符号算术运算

符号量相乘、相除

符号量相乘运算和数值量相乘一样,分成矩阵乘和数组乘。

>>a=sym(5);b=sym(7);

>>c1=a*b

>>c2=a/b

>>a=sym(5);B=sym([345]);

>>C1=a*B,C2=a\B

>>symsab

>>A=[5a;b3];B=[2*ab;2*ba];

>>C1=A*B,C2=A.*B

>>C3=A\B,C4=A./B

5.符号表达式的操作和转换

符号表达式化简主要包括表达式美化(pretty)、合并同类项(collect)、多项式展开(expand)、因式分解(factor)、化简(simple或simplify)等函数。

①合并同类项(collect)。

分别按x的同幂项和e指数同幂项合并表达式:

>>symsxt;f=(x^2+x*exp(-t)+1)*(x+exp(-t));

>>f1=collect(f)

>>f2=collect(f,’exp(-t)’)

②对显示格式加以美化(pretty)。

针对上例,用格式美化函数可以使显示出的格式更符合数学书写习惯。

>>pretty(f1)

>>pretty(f2)

注意:

与直接输出的f1和f2对比。

③多项式展开(expand)。

展开(x-1)12成x不同幂次的多项式。

>>clearall

>>symsx;

>>f=(x-1)^12;

>>pretty(expand(f))

④因式分解(factor)。

将表达式x12–1作因式分解。

>>clearall

>>symsx;f=x^12-1;

>>pretty(factor(f))

⑤化简(simple或simplify)。

将函数化简。

>>clearall,symsx;f=(1/x^3+6/x^2+12/x+8)^(1/3);

>>g1=simple(f)

>>g2=simplify(f)

6.符号极限、符号积分与微分

(1)求极限函数的调用格式

limit(F,x,a)%返回符号对象F当x→a时的极限

limit(F,a)%返回符号对象F当独立变量*→a时的极限

limit(F)%返回符号对象F当独立变量→0(a=0)时的极限

limit(F,x,a,’right’)%返回符号对象F当x→a时的右极限

limit(F,x,a,’left’)%返回符号对象F当x→a时的左极限

(2)求积分函数的调用格式

int(F)%求符号对象F关于默认变量的不定积分

int(F,v)%求符号对象F关于指定变量v的不定积分

int(F,a,b)%求符号对象F关于默认变量的从a到b的定积分

int(F,v,a,b)%求符号对象F关于指定变量v的从a到b的定积分

(3)求微分函数的调用格式

diff(F)%求符号对象F关于默认变量的微分

diff(F,v)%求符号对象F关于指定变量v的微分

diff(F,n)%求符号对象F关于默认变量的n次微分,n为自然数1、2、3…

diff(F,v,n)%求符号对象F关于指定变量v的n次微分

7.符号方程的求解

(1)常规方程求解函数的调用格式

g=solve(eq)%求方程(或表达式或字串)eq关于默认变量的解

g=solve(eq,var)%求方程(或表达式或字串)eq关于指定变量var的解

g=solve(eq1,eq2,...,eqn,var1,var2,...,varn)%求方程(或表达式或字串)组

eq1,eq2,...,eqn关于指定变量组var1,var2,...,varn的解

(2)常微分方程求解

求解常微分方程的函数是dsolve。

应用此函数可以求得常微分方程(组)的通解,以及给定边界条件(或初始条件)后的特解。

常微分方程求解函数的调用格式:

r=dsolve('eq1,eq2,...','cond1,cond2,...','v')

r=dsolve('eq1','eq2',...,'cond1','cond2',...,'v')

说明:

①以上两式均可给出方程eq1、eq2...对应初始条件cond1、cond2...之下的以v作为

解变量的各微分方程的解。

②常微分方程解的默认变量为t。

③第二式中最多可接受的输入式是12个。

④微分方程的表达方法。

在用MATLAB求解常微分方程时,用大写字母Dy表示微分符号,用D2y表示,依次类推。

边界条件以类似于y(a)=b或Dy(a)=b的等式给出。

其中y为因变量,a、b为常数。

如果初始条件给得不够,求出的解则为含有C1、C2等待定常数的通解。

例如:

求微分方程为y’=2x的通解。

四、实验要求

1、求

2、求函数的积分;求函数的导数。

3、计算定积分。

4、求下列线性方程组的解

5、求解当y(0)=2,z(0)=7时,微分方程组的解

五、实验报告

1、写出前面练习语句的注释;

2、写出实验计算的程序与结果;

3、写出实验体会。

六、心得体会

通过这章节的学习,我基本了解以及掌握了符号变量和符号表达式的创建,掌握了matlab的symbol工具箱的一些基本应用。

这章中通过定义符号变量来解决符号的微积分运算和微分方程,符号变量的定义和常量之间的运算有很大的变化,这种方式很大程度上解决了我们数学中难以解决的问题,使matlab在数学中更加实用!

(注:

本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

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

当前位置:首页 > 法律文书 > 辩护词

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

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