f2 =
(3)^3+((3)-49/50)^2/((3)+5/4)^3-5*(3)-5/(3) answ = 10.3865
(3)A =
2 4 3 6 1 5 3 2 2 7 7 9 1 2 3 5 B =
23 64 60 80 18 57 48 56 37 113 106 137 18 48 48 65 c =
-44 -124 -117 -154 -35 -109 -93 -110 -72 -219 -205 -265 -35 -94 -93 -125
3 MATLAB符号运算
实验目的:掌握符号变量和符号表达式的创建, 掌握MATLAB的symbol工具箱的一些基本应用。 实验内容:
①已知 f?(ax2?bx?c?3)3?a(cx2?4bx?1),按照自变量x和自变量a,对表达式f分别进行降幂排列(同幂合并)。 源程序:
>> syms x a b c %定义符号变量
11 / 24
>> f=(a*x^2+b*x+c*3)^3-a*(c*x^2+4*b*x-1) >> fx=collect(f)%对f按x的降幂排列 >> fa=collect(f,a)%对f按a的降幂排列
运行结果:
f =
(a*x^2+b*x+3*c)^3-a*(c*x^2+4*b*x-1) fx =
a^3*x^6+3*b*a^2*x^5+(3*c*a^2+2*b^2*a+a*(6*c*a+b^2))*x^4+(12*c*b*a+b*(6*c*a+b^2))*x^3+(3*c*(6*c*a+b^2)+6*b^2*c+9*a*c^2-c*a)*x^2+(27*c^2*b-4*b*a)*x+27*c^3+a fa =
a^3*x^6+3*(b*x+3*c)*x^4*a^2+(3*(b*x+3*c)^2*x^2-c*x^2-4*b*x+1)*a+(b*x+3*c)^3
②已知f1=1/(a-b),f2=2a/(a+b),f3=(a+1)(b-1)(a-b),分别求f1和f2的符号和、f1和f3的符号积、f1和f3的符号商。 源程序:
>> syms a b; >> f1=1/(a-b) >> f2=2*a/(a+b) >> f3=(a+1)*(b-1)*(a-b) >> h1=f1+f2 >> h2=f1*f3 >> h3=f1/f3
运行结果:
f1 = 1/(a-b) f2 = 2*a/(a+b) f3 =
(a+1)*(b-1)*(a-b) h1 =
1/(a-b)+2*a/(a+b) h2 =
(a+1)*(b-1) h3 =
1/(a-b)^2/(a+1)/(b-1)
12 / 24
③对下列表达式进行符号运算
(1) 已知数学表达式y(x)= (ex+x)(x+2),将其展开。 (2) 已知数学表达式y(x)=a3-1,对其进行因式分解。
(3) 已知数学表达式y(x)?x?3x?1x(x?1)?x2(x?2),对其进行通分。
(4) 已知数学表达式y(x)=2cos2x-sin2x,对其进行化简。
源程序:
(1)>> syms x; >> y=(exp(x)+x)*(x+2); >> y=expand(y)
(2)>> syms a; >> y=a^3-1;
>> y=factor(y)
(3)>> y=sym('(x+3)/x*(x+1)+(x-1)/x^2(x+2)') >> [n,d]=numden(y) (4) >> syms x;
>> y=2*cos(x)^2-sin(x)^2; >> simple(y)
运行结果:
(1)y =
exp(x)*x+2*exp(x)+x^2+2*x (2)y=
(a-1)*(a^2+a-1) (3) y =
(x+3)/x*(x+1)+(x-1)/x^2(x+2) n =
4*x^2+x^3+4*x-1 d = x^2 (4) simplify:
3*cos(x)^2-1
13 / 24
radsimp:
2*cos(x)^2-sin(x)^2
combine(trig):
3/2*cos(2*x)+1/2
factor:
2*cos(x)^2-sin(x)^2
expand:
2*cos(x)^2-sin(x)^2
combine:
3/2*cos(2*x)+1/2
convert(exp):
2*(1/2*exp(i*x)+1/2/exp(i*x))^2+1/4*(exp(i*x)-1/exp(i*x))^2
convert(sincos):
2*cos(x)^2-sin(x)^2
convert(tan):
2*(1-tan(1/2*x)^2)^2/(1+tan(1/2*x)^2)^2-4*tan(1/2*x)^2/(1+tan(1/2*x)^2)^2
collect(x):
2*cos(x)^2-sin(x)^2
14 / 24
ans =
3*cos(x)^2-1
④ 已知数学表达式f(x)=axn+bt+c,对其进行如下的符号替换: 1) a=sint,b=lnz,c=de2t的符号变量替换。 2) n=3,c=л的符号常量替换。 3) c=1:2:5替换。 4) c???13??24?? 的数组矩阵替换。
源程序:
(1)>> a=sym('sint') >> b=sym('lnz') >> c=sym('de2t')
(2)>> syms a b x t; >> f=a*x^n+b*t+c; >> n=sym('3') >> c=sym('pi')
(3)>> syms a b c x t n; >> f=a*x^n+b*t+c; >> c=sym('1:2:5')
(4)c=sym('[1,2;3,4]')
运行结果:
(1)a = sint b = lnz c = de2t
(2) n = 3 c = pi
15 / 24