Matlab7.0符号计算实验报告_第1页
Matlab7.0符号计算实验报告_第2页
Matlab7.0符号计算实验报告_第3页
Matlab7.0符号计算实验报告_第4页
Matlab7.0符号计算实验报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

Matlab7.0符号计算

实验报告

1•目的

本实验旨在向学生介绍一种解决专业问题的快速有效且具有强大功能的科

学与工程计算软件。通过本实验,应使学生掌握的内容是:MATLAB7.0符号对象

的创建和使用,MATLAB7.0任意精度的计算,MATLAB7.0符号表达式的化简和替

换,MATLAB7.0符号矩阵计算,MATLAB7.0符号微积分,MATLAB7.0积分变换,

MATLAB7.0符号代数方程和符号微分方程求解。该实验主要为上机实验,要求学

生按要求上机实现相关的程序的设计,自己动手编写程序并验证程序的正确性。

2.实验任务分解

通过一些实例初步掌握MATLAB7.0的基本符号计算功能和应用。实验任务可

分解为:MATLAB7.0符号计算的基础,MATLAB7.0符号计算在高等数学中的应用,

MATLAB7.0符号方程(组)求解和符号矩阵计算°

3.实验环境介绍

长清校区数学实验室

实验一MATLAB7.0符号计算的基础

实验目的:

1.掌握MATLAB7.0符号对象的创建和使用;

2.掌握MATLAB7.0任意精度的计算;

3.掌握MATLAB7.0符号表达式的化简和替换。

实验要求:给出程序和实验结果。

实验题目与结果:

一、计算符号表达式/(x)=x+c°s(x)-sin(x)在工=订一1处的值,并将结果设置为以下

五种精度,即分别为小数点之后I位、2位、10位、20位、50位有效数字;

functiony=f(x)

y=x+cos(x)-sin(x)

x=pi-l;

»y=f(x);

y=

0.7598

»yl=vpa(y,1)

yl=

.8

»y2=vpa(y,2)

y2=

.76

»y3=vpa(y,10)

x^4+8*x*2+6+x^3+3*x

i=

(x-4+2*x-2+1)*(x-3+6*x-2+3*x+5)

ans=

x-7+6*x-6+5*x-5+17*x-4+7*x-3+16*x-2+3*x+5

ans=

(x-2+1/2

三、指出下面各条语句的输出结果

»f=syni('2*u');

»subs(f,'u\2)

»f2=subs(f,,u',,u+2')

»a=3;

»subs(f2,'u',a+2)

»subs(f2,'u','a+2')

»symsxy

»f3=subs(f/u',x+y)

»subs(t3,lx,y],[l,2J)

»subs(f3,[x,yl,[x+y,x+y])

»f=sym(,2*u);

subs(f,'u',2)

f2=subs(f,'u','u+2')

a=3;

subs(f2,*\i,a+2)

subs(f2,'u','a+2')

symsxy

f3=subs(f,'u',x+y)

subs(f3,[x,y],[1,2])

subs(f3,[x,y],[x+y,x+y])

ans=

4

f2=

2*(u+2)

ans=

14

ans=

2*((a+2)+2)

f3=

2*x+2*y

ans=

6

ans

6*x+4*y

」+餐+工+8

四、简化/(x)=?

XX

»symsx;

f=(l/x*3+6/x"2+12/x+8)"(1/3);

yl=simplify(f)

yl=

((2*X+1)*3/X*3)71/3)

五、设a、b定义如下,试上机输出factor(a)和faclcr(b)的结果,并指出哪个结果才是

12345678901234567890的因式分解,为什么?

a=sym('12345678901234567890')

b=sym(i2345678901234567890)

y1=factor(a)

y2=factor(b)

yi=

(2)*(3)A2*(5)*(101)*(3803)*(3607)*(27961)*(3541)

y2=

(2)A11*(7)*(7324703)*(117570121)

a=sym('12345678901234567890');%直接创建符号常量

b=sym(12345678901234567890);%将数值常量转换为符号常量

有误差

xl=factor(a)

xl=

(2)*(3/2*(5)*(101)*(3803)*(3607)*(27961)*(3541)

x2=factor(b)

x2=

(2)Ul*(7)*(7324703)*(117570121)

isequal(xl,x2)

ans=

0

六、替换函数subs的使用。

(1)试指出下面程序中的fl、f2、f3、f4、f5的值。

symsax;

f=a*sin(x)+5;

fl=subs(f,'sin(x)',sym('y,))

f2=subs(f,{a,x},(2,sym(pi/3)))

f3=subs(f,{a,x},{2,pi/3})

f4=subs(subs(f,a,2),x,0:pi/6:pi)

f5=subs(f,{a,x},{0:6,0:pi/6:pi})

»symsax;

f=a*sin(x)+5;

fl=subs(f,Jsin(x)',sym(,y'))

f2=subs(f,{a,x},{2,sym(pi/3)})

f3=subs(f,{a,x},{2,pi/3})

f4=subs(subs(f,a,2),x,0:pi/6:pi)

f5=subs(f,{a,x}>{0:6,0:pi/6:pi})

fl=

a*y+5

f2=

371/2)+5

f3=

6.7321

f4=

5.00006.00006.73217.00006.73216.0000

5.0000

f5=

5.00005.50006.73218.00008.46417.5000

5.0000

(2)试指出下面替换的结果,并说明理由。

»symsxy;f=2*x+y;

»subs(f,{x,y},{x+y,x-y))

»symsxy;

f=2*x+y;

subs(f,{x,y},{x+y,x-y})

ans

5*x-3*y

理由:替换过程中先用x+y替换x,得至I」2x+3y,再用x・y替换y,得到5x-3y.

七、创建符号变量有几种方法?

答:

MATLAB提供了两种创建符号变量和表达式的函数:sym和syms。

八、下面三种表示方法有什么不同的含义?

(1)f=3*xA2+5*x+2

(2)f='3*xA2+5*x+2'

(3)x=sym('xr)

f=3*xA2+5*x+2

答:

(1)f=3*x-2+5*x+2

表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有

给定x则指示错误信息。

(2)f-3*x"2+5*x+2,

表示将字符串,3*M2+5*x+2'赋值给字符变量f,没有任何计算含义,因此

也不对字符串中的内容做任何分析。

(3)x=symCx')

f=3*x-2+5*x+2

表示x是一个符号变量,因此算式f=3*x-2+5*x+2就具有了符号函数的意义,

f也自然成为符号变量了。

九、用符号计算验记三角等式:

sin((p1)cos((p2)-cos((p1)sin((p2)=sin((p1-(p2)

»symsphilphi2;

y=simple(sin(phil)*cos(phi2)-cos(phil)*sin(phi2))

y=

sin(phil-phi2)

十、因式分解:X4-5X3+5X2+5X-6

»symsx;

f=x-4-5*x-3+5*x-2+5*x-6;

factor(f)

ans=

(x-1)*(x-2)*(x-3)*(x+1)

实验二MATLAB7.0符号计算在高等数学

中的应用

实验目的:

1.掌握MATLAB7.0符号计算在极限中的应用;

2.掌握MATLAB7.0符号计算在微分、积分中的应用;

3.掌握MATLAB7.0符号计算在级数求和以及泰勒级数中的应用。

实验要求:给出程序和实验结果。

实验内容与结果:

一、求sin(x)+x在[0,8]上的定积分;

»symsx;

int(sin(x)+x,0,8)

ans=

-cos(8)+33

二、求符号表达式siM©+V的5次微分;

»symsx

f=sin(x)+x*5;

df=diff(f,5)

df=

cos(x)+120

ln(x+/?)-ln(x)(、〃

三、计算L=h和M=lim1一一

n)

»symsxhn;

L=1imit((log(x+h)-log(x))/h,h,0)

M=limit((1-x/n)"n,n,inf)

L=

1/x

M=

exp(-x)

"00项的部分和;

»symsn;f=l/n*2;

S=symsum(f,n,1,inf)

S100=symsum(f,n,1,100)

S=

l/6*pi-2

S100=

15895086941330378731122979285175538597023834985437098598894328348038

18131090369901/97218614443438103058965797667262314416197558399574624

1782720354705517986165248000

co

2计算函数级数“Ei

»symsnx;f=x/n-2;

S=symsum(f,n,1,inf)

S=

l/6*x*pi*2

x2

f(x)=----,g(y)=cos(y+2f),

五、⑴设l+〃求复合函数f(g(z));

2

=g")=cos(),+21),

⑵设l+〃求复合函数f(g(Z))o

(1)

»symsxyzut;

f=x*2/(l+u);

g=cos(y+2*t);

compose(f,g,y)

ans=

cos(y+2*t)*2/(1+u)

(2)

»symsxyzut;

f=x"2/(l+u);

g=cos(y+2*t);

compose(f,g,t)

ans=

cos(3*t)2/(1+u)

六、计算sin⑴在t=0处的taylor级数、Fourier变换和Laplace变换。

»symsts;

y-sin(t)

f=taylor(y,5,x,0)

ut=heaviside(t)

UT=fourier(ut)

MS=laplace(y,t,s)

sin(t)

tT/6*/3

ut=

heaviside(t)

UT=

pi*dirac(w)-i/w

MS

l/(s*2+l)

dzdz1

七、计算2=城+3西+2>3的⑪和②取

»symsxy;

z=y*x^2+3*y^2*x+2*y"3;

a=diff(z,y)

b=diff(a,x)

a=

x-2+6*y*x+6*yC2

b=

2*x+6*y

八、因式分解:X4-5X3+5X2+5X-6

»symsx;

f=x-4-5*x-3+5*x-2+5*x-6;

factor(f)

ans=

(x-l)*(x-2)*(x-3)*(x+l)

九符号函数绘图法绘制函数x=sin(3l)cos⑴,y=sin(3l)sin⑴的图形,I的变化范围为[0,2兀]。

»symst

ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])

X

*log(x)sin⑹,用符号微分求df/dx。

十、

实验三MATLAB7.0符号方程(组)求解

和符号矩阵计算

实验目的:

1.掌握MATLAB7.0符号代数方程和符号代数方程组求解;

2.掌握MATLAB7.0符号符号微分方程和符号微分方程组求解;

3.掌握MATLAB7.0符号矩阵计算。

实验要求:给出程序和实验结果。

实验题目与结果:

-、使用sym函数生成如下符号矩阵,4=SM[1/X,1/*+1);1/(X+2),1/(X+3)]'),

Z7=53777(U1;A-+2,O]'),试对这两个符号矩阵分别进行如下操作。

(1)a-b

(2)

(3)求0的行列式

(4)求〃的逆

(5)求。的秩

(6)求"

»symsx;

a=symC[1/x,l/(x+l);l/(x+2),l/(x+3)]')

b=symC[x,1;x+2,0]');

a-b;

a*b

det(a)

rank(a)

inv(b)

a^3

a=

[1/x,1/(x+1)]

[l/(x+2),l/(x+3)]

ans=

[l+l/(x+l)*(x+2),1/x]

[l/(x+2)*x+l/(x+3)*(x+2),1/(x+2)]

ans

2/x/(x+3)/(x+1)/(x+2)

ans

2

ans

[0,l/(x+2)]

[1,-1/(x+2)*x]

ans

[1/x*(l/x-2+1/(x+1)/(x+2))+1/(x+1)*(1/(x+2)/x+1/(x+3)/(x+2)

),

1/x*(1/x/(x+1)+1/(x+1)/(x+3))+1/(x+1)*(1/(x+1)/(x+2)+1/(x+3尸2)]

[1/(x+2)*(1/x2+1/(x+1)/(x+2))+1/(x+3)*(1/(x+2)/x+1/(x+3)/(x+2)

),

l/(x+2)*(1/x/(x+1)+1/(x+1)/(x+3))+1/(x+3)*(1/(x+1)/(x+2)+1/(x+3)*2)]

x-0.7sin(x)-0.2cos(y)=0

二、求解非线性方程组《

y一().7cos(x)+0.2sin(y)=0

»s=solve('x-0.7*sin(x)-0.2*cos(y)=0,,Jy-0,7*cos(x)+0.2*sin(y)=0','x

disp(,s.x')

disp(s.x)

disp(,s.y')

disp(s.y)

s.x

.52652262191818418730769280519209

s.y

.50791971903684924497183722688768

三、已知y”+2y'+2y=0,y(0)=LjW)=1,求该方程的解。

»Y=dsolveCD2y+2*Dy+2*y=0','y(0)=1','Dy(0)=1');

sy=simple(Y)

expand(sy)

sy=

exp(-t)*(2*sin(t)+cos(t))

ans=

2/exp(t)*sin(t)+l/exp(t)*cos(t)

四、用符号函数法求解方程a-b*什c=O。

»r=solve(,a*t*2+b*t+c=0,,*t*)

l/2/a*(-b+(b*2-4*a*c)*(1/2))

1/2/a*(-b-(b^2-4*a*c)71/2))

五、用符号计算验证三角等式:

sin(例)cos(他)-cos(@)sin(g)=sin((p\-㈤

»symsphilphi2;

y=simple(sin(phil)*cos(phi2)-cos(phil)*sin(phi2))

y=

sin(phil-phi2)

六、求矩阵A=的行列式值、逆和特征根。

_a2\a22.

»symsallal2a21a22;

A=[all,al2;a21,a22]

AD=det(A)

AI=inv(A)

AE=eig(A)

A=

[all,al2]

[a21,a22]

AD=

all*a22-al2*a21

AI=

[a22/(all*a22-al2*a21),-al2/(all*a22-al2*a21)]

[-a21/(all*a22-al2*a21),all/(all*a22-al2*a21)]

AE=

l/2*all+l/2*a22+l/2*(air2-2*all*a22+a22^2+4*al2*a21)(1/2)

l/2*all+l/2*a22-l/2*(air2-2*all*a22+a22^2+4*al2*a21)(1/2)

七、/="L7,用符号微分求山7dx。

eiVClog(x)sin(x)

»symsax;

f=[a,x21/x;exp(a*x),log(x),sin(x)];

df=diff(f)

df=

[0,2*x,T/x-2]

[a*exp(a*x),1/x,cos(x)]

八、绘制极坐标下sin(3*t)*cos⑴的图形。

>>symst

ezpolar(sin(3*t)*cos(t))

九、求代数方程组k*+"+

温馨提示

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

最新文档

评论

0/150

提交评论