Chapter 7. MATLAB符号计算基础

课后习题解答

正在学习中,欢迎提问交流

1. 分解因式。


  % (1)
syms x;
f = x^9 - 1;
F = factor( f );
  % (2)
f = sym('x^4 + x^3 + 2*x^2 + x + 1');
F = factor( f );
  % (3)
f = sym('125*x^6 + 75*x^4 + 15*x^2 + 1');
F = factor( f );
  % (4)
f = sym('x^2 + y^2 + z^2 + 2*(x*y + y*z + z*x)');
F = factor( f );

2. 化简表达式。


  % (1)
s = sym('y/x + x/y');
S = simplify( s );
  % (2)
syms a b;
s = sqrt((a+sqrt(a^2-b))/2) + sqrt((a-sqrt(a^2-b))/2);
S = simplify( s );
  % (3)
s = sym('2*cos(x)^2 - sin(x)^2');
S = simplify( s );
  % (4)
s = sym('sqrt(3+2*sqrt(2))');
S = simplify( s );

3. 求函数的极限。


  % (1)
syms x;
f = (x^2-6*x+8)/(x^2-5*x+4);
L = limit(f, x, 4);
  % (2)
f = sym('abs(x)/x');
L = limit(f);
  % (3)
f = sym('(sqrt(1+x^2)-1)/x');
L = limit(f);
  % (4)
f = sym('(x+1/x)^x');
L = limit(f, inf);

4. 求函数的符号导数。


  % (1)
y = sym('3*x^2-5*x+1');
dy = diff(y);
d2y = diff(y, 2);
  % (2)
x = sym('x');
y = sqrt(x+sqrt(x+sqrt(x)));
dy = diff(y, x);
d2y = diff(y, x, 2);
  % (3)
syms x;
y = sin(x)-x^2/2;
dy = diff(y);
d2y = diff(y, 2);
  % (4)
syms x y;
z = x + y - sqrt(x^2 + y^2);
d2z = diff(diff(z, x), y);       % z/xy
dyx = diff(z, x)/diff(z, y);     % y/x

5. 求不定积分。


  % (1)
syms x a;
f = 1/(x+a);
I = int(f, x);
  % (2)
f = sym('(1-3*x)^(1/3)');
I = int(f);
  % (3)
f = sym('1/(sin(x)^2*cos(x)^2)');
I = int(f);
  % (4)
syms a x;
f = x^2/(sqrt(a^2+x^2));
I = int(f);

6. 用数值与符号两种方法求给定函数的定积分,并对结果进行比较。


  % (1)
f = inline('x.*(2-x.^2).^12');
I = quadl(f, 0, 1);
 
f = sym('x*(2-x^2)^12');
I = eval(int(f, 0, 1));
  % (2)
f = inline('x./(x.^2+x+1)');
I = quadl(f, -1, 1);
 
f = sym('x/(x^2+x+1)');
I = eval(int(f, -1, 1));
  % (3)
f = inline('(x.*sin(x)).^2');
I = quadl(f, 0, pi);
 
f = sym('(x*sin(x))^2');
I = eval(int(f, 0, pi));
  % (4)
f = inline('abs(log(x))');
I = quadl(f, exp(-1), exp(1));
 
f = sym('abs(log(x))');
I = eval(int(f, exp(-1), exp(1)));

7. 求下列级数之和。

  % (1)
syms n;
s = symsum((-1)^(n-1)*(2*n-1)/2^(n-1), n, 1, inf);
  % (2)
syms x n;
s = symsum(x^(2*n-1)/(2*n-1), n, 1, inf);
  % (3)
syms n;
s = symsum(1/(2*n-1)^2, n, 1, inf);

  % (4)
syms n;
s = symsum(1/(n*(n+1)*(n+2)));

8. 求函数在 x=x_0 的泰勒展开式。


  % (1)
f = sym('x^4-5*x^3+x^2-3*x+4');
T = taylor(f, 5, 4);
  % (2)
syms x;
f = (exp(x)+exp(-x))/2;
T = taylor(f, x, 5);
  % (3)
f = sym('tan(x)');
T = taylor(f, 3, 2);
  % (4)
f = sym('sin(x)^2');
T = taylor(f, 8);
  % (5)
f = sym('sqrt(x^3+x^2+5*x+3)');
T = taylor(f, 5);

9. 求非线性方程的符号解。


  % (1)
x = solve('a*x^2+b*x+c', 'x');
  % (2)
f = sym('2*sin(3*x-pi/4)=1');
x = solve(f);
  % (3)
x = solve('sin(x)-sqrt(3)*cos(x)=sqrt(2)');
  % (4)
x = solve('x^2+10*(x-1)*sqrt(x)+14*x+1=0', 'x');

10. 求非线性方程组的符号解。


  % (1)
[x, y] = solve('log(x/y)=9', 'exp(x+y)=3', 'x', 'y');
  % (2)
[x, y, z] = solve('(4*x^2)/(4*x^2+1)=y', '(4*y^2)/(4*y^2+1)=z', '(4*z^2)/(4*z^2+1)=x', 'x, y, z');

[x, y] = ode45('pro11', [-1, 1], [0, 0]);
plot(y(:,2), y(:,1));
x = dsolve('x*D2y+(1-3)*Dy+y = 0', 'y(0) = 0', 'Dy(0) = 0', 'x');
function f = pro11( x, y )
f = [((1-3)*y(1)+y(2))/(-x); y(1)];

12. 求一阶微分方程组的特解。


[x, y] = dsolve('Dx = 3*x+4*y', 'Dy = 5*x-7*y', 'x(0) = 0', 'y(0) = 1', 't');


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值