matlab在科学计算中的应用7﹝姜志鹏﹞.ppt
文本预览下载声明
第七章代数方程与最优化问题的求解;7.1代数方程的求解7.1.1 代数方程的图解法;验证:
syms t ; t=3.52028; vpa(exp(-3*t)*sin(4*t+2)+…
4*exp(-0.5*t)*cos(2*t)-0.5)
ans =
-.19256654148425145223200161126442e-4;二元方程的图解法
例:
ezplot(x^2*exp(-x*y^2/2)+exp(-x/2)*sin(x*y))
% 第一个方程曲线
hold on
% 保护当前坐标系
ezplot(‘x^2 *…
cos(x+y^2) +…
y^2*exp(x+y));
方程的图解法
仅适用于一元、
二元方程的求根
问题。
;7.1.2 多项式型方程的准解析解法;一般多项式方程的根可为实数,也可为复数。
可用MATLAB符号工具箱中的solve( )函数。
最简调用格式:
S=solve(eqn1,eqn2,…,eqnn)
(返回一个结构题型变量S,如S.x表示方程的根。)
直接得出根: (变量返回到MATLAB工作空间)
[x,…]=solve(eqn1,eqn2,…,eqnn)
同上,并指定变量
[x,…]=solve(eqn1,eqn2,…,eqnn,’x,…’);例:
syms x y;
[x,y]=solve(x^2+y^2-1=0,75*x^3/100-y+9/10=0)
x =
[ -.98170264842676789676449828873194]
[ -.55395176056834560077984413882735-.35471976465080793456863789934944*i]
[ -.55395176056834560077984413882735+.35471976465080793456863789934944*i]
[ .35696997189122287798839037801365]
[ .86631809883611811016789809418650-1.2153712664671427801318378544391*i]
[ .86631809883611811016789809418650+1.2153712664671427801318378544391*i]
y =
[ .19042035099187730240977756415289]
[ .92933830226674362852985276677202-.21143822185895923615623381762210*i]
[ .92933830226674362852985276677202+.21143822185895923615623381762210*i]
[ .93411585960628007548796029415446]
[ -1.4916064075658223174787216959259-.70588200721402267753918827138837*i]
[ -1.4916064075658223174787216959259+.70588200721402267753918827138837*i];验证
[eval(x.^2+y.^2-1) eval(75*x.^3/100-y+9/10)]
ans =
[ 0, 0]
[ 0, 0]
[ 0, 0]
[ -.1e-31, 0]
[ .5e-30+.1e-30*i, 0]
[ .5e-30-.1e-30*i, 0]
由于???程阶次可能太高,不存在解析解。然而,可利用MATLAB的符号工具箱得出原始问题的高精度数值解,故称之为准解析解。;
例:
[x,y,z]=solve(x+3*y^3+2*z^2=1/2, x^2+3*y+z^3 =2 ,
显示全部