Chapter 7. MATLAB符号计算基础

来源:互联网 发布:阿里云的saas 编辑:程序博客网 时间:2024/06/09 19:48

课后习题解答

转载请注明:http://blog.csdn.net/i_love_home/article/details/17515575
正在学习中,欢迎提问交流

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/xydyx = 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');


0 0
原创粉丝点击