代数方程的解.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:23 大小:255KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

代数方程的解.ppt

代数方程的解.ppt

预览

免费试读已结束,剩余 13 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

6.1代数方程的图解法验证:>>symsxt;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)')%第一个方程曲线>>holdon%保护当前坐标系>>ezplot('y^2*…cos(y+x^2)+…x^2*exp(x+y)')方程的图解法仅适用于一元、二元方程的求根问题。6.1.2多项式型方程的准解析解法一般多项式方程的根可为实数,也可为复数。可用MATLAB符号工具箱中的solve()函数。最简调用格式:S=solve(eqn1,eqn2,…,eqnn)(返回一个结构题型变量S,如S.x表示方程的根。)直接得出根:(变量返回到MATLAB工作空间)[x,…]=solve(eqn1,eqn2,…,eqnn)同上,并指定变量[x,…]=solve(eqn1,eqn2,…,eqnn,’x,…’)例:>>symsxy;>>[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','x^3+2*z+2*y^2=2/4');>>x(22),y(22),z(22)ans=-1.0869654762986136074917644096117ans=.37264668450644375527750811296627e-1ans=.89073290972562790151300874796949验证:>>err=[x+3*y.^3+2*z.^2-1/2,x.^2+3*y+z.^3-2,x.^3+2*z+2*y.^2-2/4];>>norm(double(eval(err)))ans=1.4998e-027多项式乘积形式也可,如把第三个方程替换一下。>>[x,y,z]=solve('x+3*y^3+2*z^2=1/2','x^2+3*y+z^3=2','x^3+2*z*y^2=2/4');>>err=[x+3*y.^3+2*z.^2-1/2,x.^2+3*y+z.^3-2,x.^3+2*z.*y.^2-2/4];>>no