预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验报告 实验名称MATLAB数值运算 指导教师魏永生 专业光信 班级14物81 姓名达旭琦 学号140220008 实验四MATLAB符号运算 一、实验目的 掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。 二、实验内容 (1)符号变量、表达式、方程及函数的表示。 (2)符号微积分运算。 (3)符号表达式的操作和转换。 (4)符号微分方程求解。 三、实验步骤 1.符号运算的引入 >>f=sym('sin(pi*x)/x') f= sin(pi*x)/x >>limit(f,'x',0) ans= Pi 2.符号常量、符号变量、符号表达式的创建 1)使用sym()创建 >A=sym('1') A= 1 >>B=sym('x') B= x >>f=sym('2*x^2+3*y-1') f= 2*x^2+3*y-1 >>clear >>f1=sym('1+2') f1= 1+2 >>f2=sym(1+2) f2= 3 >>f3=sym('2*x+3') f3= 2*x+3 >>f4=sym(2*x+3) f4= 5 2)使用syms创建 >>clear >>symsxyz >>x,y,z x= x y= y z= z >>f1=x^2+2*x+1 f1= x^2+2*x+1 >>f2=exp(y)+exp(z)^2 f2= exp(y)+exp(z)^2 >>f3=f1+f2 f3= x^2+2*x+1+exp(y)+exp(z)^2 >>f1=sym('x^2+y+sin(2)') f1= x^2+y+sin(2) >>symsxy >>f2=x^2+y+sin(2) f2= x^2+y+4095111552621091/4503599627370496 >>x=sym('2'),y=sym('1') x= 2 y= 1 >>f3=x^2+y+sin(2) f3= 26613109689473571/4503599627370496 >>y=sym('w') y= w >>f4=x^2+y+sin(2) f4= 22109510062103075/4503599627370496+w 思考题:symsx是不是相当于xsym('x')? 理解:这两个式子是不相同的。symsx是定义x为符号变量,而xsym('x')?是给x赋值。 3.符号矩阵创建 >>symsa1a2a3a4 >>A=[a1a2;a3a4] A= [a1,a2] [a3,a4] >>A(1),A(3) ans= a1 ans= a2 或者 >>B=sym('[b1b2;b3b4]') B= [b1,b2] [b3,b4] >>c1=sym('sin(x)') c1= sin(x) >>c2=sym('x^2') c2= x^2 >>c3=sym('3*y+z') c3= 3*y+z >>c4=sym('3') c4= 3 >>C=[c1c2;c3c4] C= [sin(x),x^2] [3*y+z,3] 练习:分别用sym和syms创建符号表达式 4.符号算术运算 1)符号量相乘、相除 >>a=sym(5);b=sym(7); >>c1=a*b c1= 35 >>c2=a/b c2= 5/7 >>a=sym(5);B=sym([345]); >>C1=a*B,C2=a\Bye2t. C1= [15,20,25] C2= [3/5,4/5,1] >>symsab >>A=[5a;b3];B=[2*ab;2*ba]; >>C1=A*B,C2=A.*B C1= [10*a+2*a*b,5*b+a^2] [2*a*b+6*b,b^2+3*a] C2= [10*a,a*b] [2*b^2,3*a] >>C3=A\B,C4=A./B C3= [2*a*(b-3)/(-15+a*b),(a^2-3*b)/(-15+a*b)] [2*b*(a-5)/(-15+a*b),-(5*a-b^2)/(-15+a*b)] C4= [5/2/a,a/b] [1/2,3/a] 2)符号数值任意精度控制和运算 >>a=sym('2*sqrt(5)+pi') a= 2*sqrt(5)+pi >>b=sym(2*sqrt(5)+pi) b= 8572296331135796*2^(-50) >>digits Digits=32 >>vpa(a) ans= 7.6137286085893726312809907207421 >>digits(15) >>vpa(a) ans= 7.61372860858937 >>c1=vpa(a,56) c1= 7.6137286085893726312809907207420553