ZKX's LAB

求matlab编程 用二分法和牛顿迭代法求根号a 二分法为什么求不出复数根

2021-04-08知识5

求解一元三次方程,有复数根的 s^3+4s^2+8s+32=0s^3+4s^2+8(s+4)=0s^2(s+4)+8(s+4)=0(s^2+8)(s+4)=0所以s^2+8=0或s+4=0s的根是2√2i或-2√2i或-4

求matlab编程 用二分法和牛顿迭代法求根号a 对于求平方根,变成方程模式为f(x)=x^2-a,即求此方程的实根;下面编写了两个function函数,可以直接调用。二分法:function x=sqrt_bisect(a)f=(x)x^2-a;if awarning(['负数不能求平方根']);x=[];elseif a=0|a=1x=a;elseif axa=a;xb=1;elsexa=1.00;xb=a;endwhile abs(xa-xb)>;1e-6x=(xa+xb)/2;if f(xb)*f(x)>;0xb=x;elseif f(xa)*f(x)>;0xa=x;elsebreakendendendx;牛顿迭代法:function x=sqrt_newton(a)f=(x)x^2-a;df=diff(sym('x^2-a'));if awarning('负数没有实平方根');x1=[];elseif a=0;x1=a;elsex0=a;x1=x0-f(x0)/subs(df,x0);while abs(x1-x0)>;1e-6x0=x1;x1=x0-f(x0)/subs(df,x0);endendx=x1;调用格式为:sqrt_bisect(3)ans=1.7321或者sqrt_newton(2)ans=1.4142

用二分法解一元三次方程如何得出其复数根 设:x=X+Y i,分别令实部等于实部、虚部等于虚部,即可得到关于实未知数 X、Y 的一元三次方程,按二分法解之即可.

#二分法为什么求不出复数根

随机阅读

qrcode
访问手机版