24小时热门版块排行榜    

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

erniu1984

铁虫 (小有名气)

[求助] 求解一个简单的超越方程解。不懂Matlab,希望高手解答!!!已有2人参与

求解一个简单的超越方程解:tan(x)=3*x/(3+0.002967*x^2)。应该有多个解,求大于零的第一个解。
回复此楼

» 猜你喜欢

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

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

Op_liu

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
erniu1984(jjdg代发): 金币+20, 应助了,答案楼主也很满意,为啥不发金币呀,谢谢版主 2015-12-14 07:55:08
%% 解非线性方程,solve很难得到准确解;
%% 一般使用fzero;fsolve;自己编程序找点;3种方法;
%% 这里因为只用求一个解,我用的是fzero;
ezplot('tan(x)')
hold on
ezplot('3*x/(3+0.002967*x^2)')%由图可以看出在4附近;
[a,b]=fzero('tan(x)-3*x/(3+0.002967*x^2)',4)%a是解,b是误差;
plot(a,tan(a),'.r','MarkerSize',15)

%% 建议看http://muchong.com/bbs/viewthread.php?tid=9709378&pid=3#pid3#opennewwindow
%% 这里有我和另一个人写的解非线性方程的方法,分别用自己的程序和fsolve;是解这类问题更一般的解法
4楼2015-12-12 13:50:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

Op_liu

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
大于0的第一个解为4.4890
求解一个简单的超越方程解。不懂Matlab,希望高手解答!!!



发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

2楼2015-12-09 22:05:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

erniu1984

铁虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by Op_liu at 2015-12-09 22:05:50
大于0的第一个解为4.4890

大谢大谢!!!
这两天忘回复了,见谅见谅!!!
还请高手把程序在贴出来,有点看不清,再次谢过~~~
3楼2015-12-12 13:04:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

erniu1984

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by Op_liu at 2015-12-12 13:50:32
%% 解非线性方程,solve很难得到准确解;
%% 一般使用fzero;fsolve;自己编程序找点;3种方法;
%% 这里因为只用求一个解,我用的是fzero;
ezplot('tan(x)')
hold on
ezplot('3*x/(3+0.002967*x^2)')%由图可 ...

再扰!哈哈,我把你的解带入验算了下,两边不等...是怎么回事???求答···
5楼2015-12-12 15:30:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见