MATLAB原理及应用实验报告第三章答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB 原理及应用》实验报告
9.课后练习题答案
1.提取符号表达式2
22m z u ar +++的自由变量
(当符号表达式中含有多余一个符号变量时,只有一个变量是独立变量,其余的符号当作常量。

如果不指定那一个变量当作是自由变量,matlab 将基于一定原则选择一个自由变量。

) 提示:findsym (s ,n )
程序如下:>> syms a r u z m
h=sym('a*r^2+u^2+z+m^2');
>> findsym (h)
ans =
a, m, r, u, z 2.在MATLAB 中计算多项式2
352212-+++-x x x x 的父母和分子 (提示:使用[n ,d]=numden (A ))
程序如下:
>> s=sym('(x^2-1)/(x+2)+(2*x+5)/(3*x-2)');
[n,d]=numden(s)
n =
3*x^3+6*x+12
d =
(x+2)*(3*x-2)
2.1、建立符号函数5
332232-+x x (1)提取该表达式的分子和分母,并分别付给两个变量
(2)对这两个变量分别进行代数运算(加减乘除及乘方)
程序如下:
>> s=sym('3/2*x^2+2/3*x-3/5');
>> [n,d]=numden(s)
n =
45*x^2+20*x-18
d =
30
>> s1=n-d;
>> s2=n+d;
>> s3=n*d;
>> s4=n/d;
>> s5=n^d;
>> s=[s1;s2;s3;s4;s5]
s =
45*x^2+20*x-48
45*x^2+20*x+12
1350*x^2+600*x-540
3/2*x^2+2/3*x-3/5
(45*x^2+20*x-18)^30
3.在MA TLAB 中,按照不同的方式合并表达式)()(23x e y x y x e x y y --+*-+的参数类项。

在MATLAB 的命令窗口中输入下例内容:
>> syms x y
>> f=sym('(x+exp(-y)*x^3-y)*(sqrt(x)*y+exp(-2*y)*x)');
>> R1=collect(f,x);
>> R2=collect(f,y);
>> R3=collect(f,exp(-y));
>> R=[R1;R2; R3]
R =
exp(-y)*exp(-2*y)*x^4+exp(-y)*y*x^(7/2)+exp(-2*y)*x^2+y*x^(3/2)-y*exp(-2*y)*x-y^2*x^(1/2) -y^2*x^(1/2)+((x+exp(-y)*x^3)*x^(1/2)-exp(-2*y)*x)*y+(x+exp(-y)*x^3)*exp(-2*y)*x x^3*(x^(1/2)*y+exp(-2*y)*x)*exp(-y)+(x-y)*(x^(1/2)*y+exp(-2*y)*x)
3.1.按t e -来合并表达式
))(1(2t t e x xe x --+++的同类项。

在MA TLAB 的命令窗口中输入下例内容:
>> syms x t
>> f=sym('(x^2+x*exp(-t)+1)*(x+exp(-t))');
>> collect(f,exp(-t))
ans =
x*exp(-t)^2+(2*x^2+1)*exp(-t)+(x^2+1)*x
4、使用simple 和simplify 两个指令分别化简
32381261+++=x x x f ,比较两个
结果有什么不同
在MA TLAB 的命令窗口中输入下例内容:
>> f=sym((1/x^3+6/x^2+12/x+8)^(1/3));
>> simplify(f)
ans =
((2*x+1)^3/x^3)^(1/3)
>> simple(f)
simplify:
((2*x+1)^3/x^3)^(1/3)
radsimp:
(2*x+1)/x
combine(trig):
((1+6*x+12*x^2+8*x^3)/x^3)^(1/3)
factor:
((2*x+1)^3/x^3)^(1/3)
expand:
(1/x^3+6/x^2+12/x+8)^(1/3)
combine:
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(exp):
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(sincos):
(1/x^3+6/x^2+12/x+8)^(1/3)
convert(tan):
(1/x^3+6/x^2+12/x+8)^(1/3)
collect(x):
(1/x^3+6/x^2+12/x+8)^(1/3)
mwcos2sin:
(1/x^3+6/x^2+12/x+8)^(1/3)
ans =
(2*x+1)/x
(从运行的结果可以看出,MATLAB会调用所有相关的命令,分别得出化简结果,
然后比较所有的化简结果,选择其中的简化结果。


(尽管simple 和simplify 命令都是用来化简表达式,但是simple 命令的功能比较强大,以上例子表明simple 命令可以多次化简表达式,而simplify 命令则不能多次简化表达式。


5.求级数1+x+x 2+…+x k
+…和 +⋅⋅+⋅++32121113
2x x x 的和。

(使用symsum 函数) 在MATLAB 的命令窗口中输入下例内容:
>> syms x k
>> symsum(x^k,0,inf) %求(1)
ans =
sum(x^k,x = 1 .. Inf) >> symsum(x^k/sym('k!'),k,0,inf) %求(2)
ans = exp(x)
6.分别求下例积分
(1)dx x ⎰+211 (2)dx x b a ⎰+211 (3)dx x ⎰+21211
在MATLAB 的命令窗口中输入下例内容:
>> f=sym('1/(1+x^2)');
>> int(f) %求(1)
ans =
atan(x)
>> syms a b %求(2)
>> int(f,a,b)
ans =
-atan(a)+atan(b)
>> int(f,1,2) %求(3)
ans =
-1/4*pi+atan(2)
>> eval(ans)
ans =
0.3218
7. 2cos x y = 求'y 、''y 、'''y
在MATLAB 的命令窗口中输入下例内容:
>> y=sym('cos(x^2)');
>> diff(y) %求(1)
ans =
-2*sin(x^2)*x
>> diff(y,2) %求(2)
ans =
-4*cos(x^2)*x^2-2*sin(x^2)
>> diff(y,3) %求(3)
ans =
8*sin(x^2)*x^3-12*cos(x^2)*x
8. 求三元非线性方程组 ⎪⎩⎪⎨⎧-=⨯=+=++1430122z y z
x x x 的解 在MATLAB 的命令窗口中输入下例内容: >> A=sym('x^2+2*x+1=0');
>> B=sym('x+3*z=4');
>> C=sym('y*z=-1');
>> [x,y,z]=solve(A,B,C)
x =
-1
y =
-3/5
z =
5/3。

相关文档
最新文档