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
常微分方程数值解
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库MATLAB示例(5)在线全文阅读。
相关推荐: