24小时热门版块排行榜    

查看: 1134  |  回复: 9

小小鸟人

铜虫 (正式写手)

[求助] MATLAB求解分段非线性方程(组) 已有2人参与

本人MATLAB学的不好,请为各位大神以下方程如何求解???拜托了!
MATLAB求解分段非线性方程(组)
图片2.png
回复此楼

» 猜你喜欢

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

天行健,君子以自强不息
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟人

铜虫 (正式写手)

dddddddddddddddddddddddddddddddddd
天行健,君子以自强不息
2楼2016-06-20 20:39:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟人

铜虫 (正式写手)

dddddddddddd
天行健,君子以自强不息
3楼2016-06-20 21:32:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
楼主到底想算什么啊?
4楼2016-06-21 09:25:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟人

铜虫 (正式写手)

引用回帖:
4楼: Originally posted by dingd at 2016-06-21 09:25:39
楼主到底想算什么啊?

解方程啊,其实关键是求解x
天行健,君子以自强不息
5楼2016-06-21 10:00:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
5楼: Originally posted by 小小鸟人 at 2016-06-21 10:00:40
解方程啊,其实关键是求解x...

看不懂你的方程是啥意思。
比如 y=1.12 这个方程需要解什么?
y=1.12+0.53*ln(3000/x)这个方程中y的数值未知,如何解x?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2016-06-21 11:13:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟人

铜虫 (正式写手)

引用回帖:
6楼: Originally posted by 月只蓝 at 2016-06-21 11:13:49
看不懂你的方程是啥意思。
比如 y=1.12 这个方程需要解什么?
y=1.12+0.53*ln(3000/x)这个方程中y的数值未知,如何解x?...

对不起大家了,我搞错了。我整理了一下,方程是这样的。。。。。。
A,B为常数。

MATLAB求解分段非线性方程(组)-1
图片1.png

天行健,君子以自强不息
7楼2016-06-21 11:21:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小鸟人

铜虫 (正式写手)

引用回帖:
6楼: Originally posted by 月只蓝 at 2016-06-21 11:13:49
看不懂你的方程是啥意思。
比如 y=1.12 这个方程需要解什么?
y=1.12+0.53*ln(3000/x)这个方程中y的数值未知,如何解x?...

你看这样解是否合适?
首先将y的表达式代入分段函数得到如图片2的结果。
然后先尝试x=1.12,看是否满足x/A<1,若满足则x=1.12;若不满足则解第二个方程,得到x继续判断是否满足1<x/A<=27......
以此类推。。。。
MATLAB求解分段非线性方程(组)-2
图片2.png

天行健,君子以自强不息
8楼2016-06-21 11:28:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
小小鸟人: 金币+15, ★★★很有帮助, 多谢了~我试一下! 2016-06-21 11:49:09
小小鸟人: 金币+15 2016-06-27 22:40:52
引用回帖:
7楼: Originally posted by 小小鸟人 at 2016-06-21 11:21:13
对不起大家了,我搞错了。我整理了一下,方程是这样的。。。。。。
A,B为常数。


图片1.png
...

这样只需要解 x=1.12+B*ln(x/A)这个方程,这是普通超越方程,给出A和B的数值,即可求解。
以A=1,B=1为例:

代码:
clear all;clc
format long
A=1;
B=1;
[x fval]=fsolve(@(x)1.12+B*log(x/A)-x,0.5 )
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2016-06-21 11:29:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
祝福
10楼2016-06-21 12:51:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小小鸟人 的主题更新
信息提示
请填处理意见