MATLAB示例(5)

2019-02-15 14:43

y =

0 0 0 0 0 0

3 MATLAB 数值计算

3.1 多项式计算

3.1.1 多项式的根与系数

p = [1 -6 11 -6], x = roots(p) %求x^3 - 6 x^2 + 11 x - 6 = 0的根 q = poly(x), poly2str(q,'a') %由根确定多项式系数 p =

1 -6 11 -6 x =

3.0000 2.0000 1.0000 q =

1.0000 -6.0000 11.0000 -6.0000 ans =

a^3 - 6 a^2 + 11 a - 6

3.1.2 多项式求值

%求f(x)=x^4 + 4 x^3 + 5 x^2 + 7 x - 3在x=2.6的值 f = polyval([1 4 5 7 -3], 2.6) f =

165.0016

3.1.3 多项式导数

c = [1 4 5 7 -3],fc = poly2str(c,'x') d = polyder(c), fd = poly2str(d,'x')

c =

1 4 5 7 -3 fc =

x^4 + 4 x^3 + 5 x^2 + 7 x - 3 d =

4 12 10 7 fd =

4 x^3 + 12 x^2 + 10 x + 7

3.1.4 多项式乘法和除法

a = [1 2 3], b = [4 5 6], c = conv(a,b) [d,e] = deconv(c,[1,2])%d为商式,e为余式 a =

1 2 3 b =

4 5 6 c =

4 13 28 27 18 d =

4 5 18 -9 e =

0 0 0 0 36

3.1.5 部分分式分解

对以下分式多项式进行部分分式分解:

b = [-4 8]; a = [1 6 8];

[r,p,k] = residue(b,a) r = %分子系数 -12

8 p = %极点 -4 -2 k = %余子式 []

3.2 数值积分

??0?sin(x)?x?dx

建立objfun.m函数 function y = objfun(x) y = sin(x)-x;

f = quad(@objfun,0,pi) g = quadl(@objfun,0,pi) f =

-2.9348 g =

-2.9348

??sin(x??)dx,??0,???2?6?06,3,2,3,6,?

建立objfun.m函数 function y = objfun(x,beta) y = sin(x+(0:pi/6:beta);

y = quadv(@(x)objfun(x,pi),0,pi) y =

2.0000 1.7321 1.0000 0.0000 -1.0000 -1.7321 -2.0000

?420(x2?y)dxdy

建立objfun.m函数 function z = objfun(x,y) z = x.^2+y.^2;

F = dblquad(@objfun,0,4,0,4) F =

170.6667

???11??100ysin(x)?zcos(x)dxdydz

建立objfun.m函数 function f = objfun(x,y,z) f = y*sin(x)+z*cos(x);

F = triplequad(@objfun,0,pi,0,1,-1,1) F =

2.0000

3.3 代数方程数值解

3.3.1 一元非线性方程

求解:sin(x)?cos(x)建立objfun.m函数 function f = objfun(x) f = sin(x)-cos(x).^2;

x = fzero(@objfun,3) x =

2.4754

2?0在3附近的解。

3.3.2 多元非线性方程及方程组

求解:x2?y2?5?0,在(2,2)附近的解

建立objfun.m函数 function f = objfun(x) f = x(1).^2+x(2).^2-5;

x = fsolve(@objfun,[2,2])

Warning: Trust-region-dogleg algorithm of FSOLVE cannot handle non-square systems; using Levenberg-Marquardt algorithm instead. > In fsolve at 324

Optimization terminated: the first-order optimality measure is less than 1e-4 times options.TolFun.

x =

1.5811 1.5811

?x??2x - y - e?0求解?

?y??-x + 2y - e=0建立objfun.m函数 function f = objfun(x) f = [ 2*x(1) - x(2) - exp(-x(1)) -x(1) + 2*x(2) - exp(-x(2))];

x = fsolve(@objfun,[-5;-5])

Optimization terminated: first-order optimality is less than options.TolFun. x =

0.5671 0.5671

常微分方程数值解


MATLAB示例(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第11章 免疫遗传学

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: