24小时热门版块排行榜    

查看: 1581  |  回复: 8

hylb3020

木虫 (正式写手)

流体力学爱好者

[求助] 求助利用MATLAB求解一个含有双曲函数的超越函数 已有3人参与

如图所示, k 是未知数, 求k的值。

多谢。

求助利用MATLAB求解一个含有双曲函数的超越函数
001.jpg
回复此楼
人生得意须尽欢
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

WanderingHeart

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
很简单,先用图解法大概确定方程有多少解,然后用二分法之类的迭代法就可以求解了。
2楼2016-01-25 08:47:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
是一般的一元非线性方程吧:
k: 40.8378443861602

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

3楼2016-01-25 09:57:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hylb3020

木虫 (正式写手)

流体力学爱好者

送红花一朵
引用回帖:
3楼: Originally posted by dingd at 2016-01-25 09:57:57
是一般的一元非线性方程吧:
k: 40.8378443861602

谢谢你。
我刚刚用Newton-Raphson 方法利用matlab程序算出来了,结果是40.8378.
不知道兄台是如何算出来的?
我在Maple 里用solve 命令得到的值是0.
人生得意须尽欢
4楼2016-01-25 10:18:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
hylb3020: 金币+15, ★★★★★最佳答案 2016-01-25 20:14:27
找到两个解:
CODE:
function solve_neq
clear all;clc

k=linspace(0,100,1000);
y=(25-(3/25)*k).^2-9.8*k.*tanh((1/10)*k).*(1+(0.125e-2*(8+cosh(.4*k)-2*tanh(.1*k).^2))./sinh(.1*k).^4);

figure(1)
plot(k,y,'b',[min(k) max(k)],[0 0],'r'),axis([min(k)-1 max(k)+1 min(y)-100 max(y)+300])

CODE:
format long
[x fval]=fsolve(@(k) (25-(3/25)*k)^2-9.8*k*tanh((1/10)*k)*(1+(0.125e-2*(8+cosh(.4*k)-2*tanh(.1*k)^2))/sinh(.1*k)^4),0.1)
[x fval]=fsolve(@(k) (25-(3/25)*k)^2-9.8*k*tanh((1/10)*k)*(1+(0.125e-2*(8+cosh(.4*k)-2*tanh(.1*k)^2))/sinh(.1*k)^4),10)

解x1 =

   0.420785261224372


残差fval 1=

   -1.136868377216160e-013

解x2 =

  40.837844386160207


残差fval 2 =

   -2.842170943040401e-013
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2016-01-25 16:36:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
5楼: Originally posted by 月只蓝 at 2016-01-25 16:36:01
找到两个解:


function solve_neq
clear all;clc

k=linspace(0,100,1000);
y=(25-(3/25)*k).^2-9.8*k.*tanh((1/10)*k).*(1+(0.125e-2*(8+cosh(.4*k)-2*tanh(.1*k).^2))./sinh(.1*k).^4);

figure(1)
p ...

第一段代码用于判断解的个数,计算结果如附图1。
求助利用MATLAB求解一个含有双曲函数的超越函数-1
附图1.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2016-01-25 16:39:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vv0147

铜虫 (正式写手)

7楼2016-01-26 07:51:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xjinxjtu

铁杆木虫 (小有名气)

40.837844
1063.205199
8楼2016-01-26 08:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

对这个问题进行了更深入的分析,根据图形基本确定原问题有四个解,通过改变MATLAB fsolve函数初值,找到了额外的两个解:
x =

    1.063205199212810e+003


fval =

    3.212335286661983e-008

以及
x =

  -0.419092354464820


fval =

   -1.136868377216160e-013
求助利用MATLAB求解一个含有双曲函数的超越函数-2
附图2.png

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2016-01-26 12:26:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hylb3020 的主题更新
信息提示
请填处理意见