24小时热门版块排行榜    

查看: 685  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

815292578

木虫 (著名写手)

[求助] matlab求解一个复杂的方程问题.... 已有1人参与

现遇到一个比较复杂的方程,想用matlab求解,运行半天也没有结果,求大神帮助啊.....
方程如下:
tan(theta)*sqrt((1-(2*z^2-1)/z^2)*(1-1/(2*(z-1)^(1/k))))=sqrt((2*z^2-1)/z^2)+1/(2*(z-1)^(1/(2*k)))

程序如下:
theta=46.5*pi/180;
k=0.21;
syms z
xx=solve(tan(theta)*sqrt((1-(2*z^2-1)/z^2)*(1-1/(2*(z-1)^(1/k))))-sqrt((2*z^2-1)/z^2)-1/(2*(z-1)^(1/(2*k))))

备注:想用fsolve数值求解,但是不知道初值怎样选取。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

引用回帖:
2楼: Originally posted by 32100004 at 2014-07-15 16:22:14
clear;clc;
=fsolve(@myfcn,0.8)

x =

  0.340725323011001 + 0.277061530754317i


feval =

      1.370903390807143e-12 - 6.255551632250445e-13i


exitflag =

     1


能否告诉我选取0.8的依据吗?
3楼2014-07-15 20:20:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

32100004

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+10, ★★★很有帮助, 十分感谢!!! 2014-07-15 20:19:31
clear;clc;
[x,feval,exitflag]=fsolve(@myfcn,0.8)

x =

  0.340725323011001 + 0.277061530754317i


feval =

      1.370903390807143e-12 - 6.255551632250445e-13i


exitflag =

     1
2楼2014-07-15 16:22:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

32100004

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by 815292578 at 2014-07-15 20:20:31

能否告诉我选取0.8的依据吗?...

先画个图确定一个区间,然后再定初值。在找初值的时候用图像是很方便的.

开始我想用1stopt求解来着,不过1.5的似乎不支持复数。如果有高版本的,可以试一下。那个更方便,不用自己定初值。
4楼2014-07-16 12:44:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见