实验二 MATLAB 的符号运算
符号计算的特点:一,运算以推理解析的方式进行,因此不受计
算误差积累问题困扰;二,符号计算,或给出完全正确的封闭解,或
给出任意精度的数值解(当封闭解不存在时);三,符号计算指令的
调用比较简单;四,计算所需时间较长。在 MATLAB 中,符号计算虽以
数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操
作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便
捷的。
一、实验目的:
1、熟悉符号对象和符号表达式;
2、掌握符号表达式和符号函数的操作;
3、学习利用符号代数方程的求解 。
二、实验要求:
1、基本运算指令 ;
2. 掌握符号运算的应用。
dy 。(2)然后根据此结
dt
三、实验内容:
1. (1)通过符号计算求
)( 的导数
ty
sin
t
果,求
dy
dt
和
0t
dy
tdt
2
。
>>clear all
>> syms t
>> f=sym('y(t)=abs(sin(t))');
>> dfdx=diff(f,t)
dfdx =
diff(y(t),t) = abs(1,sin(t))*cos(t)
>> f1=limit(dfdx,t,0,'left')
f1 =
D(y)(0) = -1
>> f2=limit(dfdx,t,pi/2)
f2 =
D(y)(1/2*pi) = 0
2
2
(x
2. 计算二重积分
>>syms x y
>> F2=int(int(x^2+y^2,y,1,x^2),x,1,2)
dydx
。
x
y
)
2
1
1
2
F2 =
1006/105
f
3. 已知
2
fd
(1)求 2
dy
2
2
x
y
;(2)求
1
1
fdx .
>>clear all
>> syms x y
>> f=x^2+y^2;
>> dfdy2=diff(f,y,2)
dfdy2 =
2
>> F1=int(f,x,1,2)
F1 =
7/3+y^2
4.解方程:
3 2
x
4
x
6
0
>>clear all
>> syms x
>> f=3*x^2+4*x-6;
>> solve(f)
ans =
-2/3+1/3*22^(1/2)
-2/3-1/3*22^(1/2)
6
3
2
y
dy
dx
5.已知方程:
3
yd
3
dx
(1) 求通解;(2)求满足
>>clear all
>> y=dsolve('D3y+3*Dy+2*y-6=0','x')
,1)0(
,2
y
)0(
y
)0(
3
的特解.
y
y =
3+C1*exp((1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)+C2*exp(-
1/2*(1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)*sin(1/2*3^(1/
2)*(1+2^(1/2))^(1/3)*(1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)+C3*exp(-
1/2*(1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)*cos(1/2*3^(1/
2)*(1+2^(1/2))^(1/3)*(1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)
>> y=dsolve('D3y+3*Dy+2*y-6=0','y(0)=3,D2y(0)=1,Dy(0)=2','x')
y =
3+(-
1/12*(1+2^(1/2))^(1/3)*2^(1/2)+1/6*(1+2^(1/2))^(2/3)+1/3*(1+2
^(1/2))^(1/3)-
1/4*(1+2^(1/2))^(2/3)*2^(1/2))*exp((1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)+(1/3*3^(1/2)*
(1+2^(1/2))^(1/3)-1/12*3^(1/2)*(1+2^(1/2))^(1/3)*2^(1/2)-
1/6*3^(1/2)*(1+2^(1/2))^(2/3)+1/4*3^(1/2)*(1+2^(1/2))^(2/3)*2
^(1/2))*exp(-1/2*(1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)*sin(1/2*3^(1/
2)*(1+2^(1/2))^(1/3)*(1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)+(1/12*(1+2^(1
/2))^(1/3)*2^(1/2)-1/6*(1+2^(1/2))^(2/3)-
1/3*(1+2^(1/2))^(1/3)+1/4*(1+2^(1/2))^(2/3)*2^(1/2))*exp(-
1/2*(1+2^(1/2))^(1/3)*(-1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)*cos(1/2*3^(1/
2)*(1+2^(1/2))^(1/3)*(1-
(1+2^(1/2))^(1/3)+(1+2^(1/2))^(1/3)*2^(1/2))*x)
y
2 1,
xy
的解。
6.求方程 2
x
>>clear all
>> syms x y
>> S=solve('x^2+y^2-1=0','x*y-2=0','x','y')
2
S =
x: [4x1 sym]
y: [4x1 sym]
>> disp('S.x'),disp(S.x),disp('S.y'),disp(S.y)
S.x
-1/2*(1/2*5^(1/2)+1/2*i*3^(1/2))^3+1/4*5^(1/2)+1/4*i*3^(1/2)
-1/2*(1/2*5^(1/2)-1/2*i*3^(1/2))^3+1/4*5^(1/2)-1/4*i*3^(1/2)
-1/2*(-1/2*5^(1/2)+1/2*i*3^(1/2))^3-1/4*5^(1/2)+1/4*i*3^(1/2)
-1/2*(-1/2*5^(1/2)-1/2*i*3^(1/2))^3-1/4*5^(1/2)-1/4*i*3^(1/2)
S.y
1/2*5^(1/2)+1/2*i*3^(1/2)
1/2*5^(1/2)-1/2*i*3^(1/2)
-1/2*5^(1/2)+1/2*i*3^(1/2)
-1/2*5^(1/2)-1/2*i*3^(1/2)
四、实验讨论:
本次试验中,是为了让我们更好的学习 MATLAB 的符号运算,让我
们熟练掌握符号计算的解题理念和模式,经过本次实验,能够使学生
感受到 MATLAB 优缺点,对以后的解题很有帮助。
第一题说明了极限和导数的符号运算,学会应用 diff 的不同情况
和 limit 的求取极限作用。第二题是对积分的符号运算,二重积分的
应用,学会使用 int 的作用。第三题是结合求取二阶导数,以及求取
定积分的综合。第四题主要是为了让学生了解 solve 在解方程时的作
用。第五题主要告诉大家微分方程的符号解法。第六题主要讲述了一
般代数方程的求解方法。
通过上面的练习,让我们掌握了大体的符号求解方法,能够运用
符号运算。