24小时热门版块排行榜    

查看: 441  |  回复: 2

dl355538623

木虫 (正式写手)

扬帆远航

[求助] mathematica 解方程已有1人参与

给位虫友好:
       我是非计算机专业。现在想解决方程组,找到合适的因子。苦于没有方法,希望给位能给予大力帮助。谢谢。

已知y1=130 x^3.61; y2=30 x^2.62; y3=80 x^3.19; 且符合方程 .
已知 x= 0.5, 1, 1.5, 2.0, 2.5, 3.0.

能否通过mathematica写出程序,给出A和B的值或则可能的范围?或则符合什么样的分布?谢谢各位了。
回复此楼

» 猜你喜欢

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

抓住时间、勿自寻烦恼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
拟合呗:
CODE:
Clear[y1, y2, y3]
x = {0.5, 1., 1.5, 2.0, 2.5, 3.0};

data = Transpose@{130 x^3.61, 30 x^2.62, 80 x^3.19, ConstantArray[0., Length@x]};

coef = FindFit[data, -y3^a + b y1^a + (1 - b) y2^a, {a, b}, {y1, y2, y3}]
(* {a -> 5.33194*10^-16, b -> 0.658877} *)

具体效果怎么样搞不清楚。(确切地说是懒得验。)可能会面临非线性拟合时的初值敏感问题。不过残差好像还是满小的:
CODE:
{y1, y2, y3} = Most@Transpose@data;
-y3^a + b y1^a + (1 - b) y2^a /. coef

(*
{1.11022*10^-16, -1.11022*10^-16, -1.11022*10^-16, 1.11022*10^-16, -1.11022*10^-16, 0.}
*)

小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
2楼2015-03-19 20:02:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xzczd

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
dl355538623: 金币+10, ★★★很有帮助, 谢谢你的帮助。非常感谢, 2015-03-28 15:48:02
把精度提了一下,这个结果大概更可靠些。不过a已经小到了这份上直觉上应该无所谓了:
CODE:
Clear[y1, y2, y3]

x = {0.5, 1., 1.5, 2.0, 2.5, 3.0};

data = Transpose@{130 x^3.61, 30 x^2.62, 80 x^3.19, ConstantArray[0., Length@x]};

coef = FindFit[Rationalize[data, 0], -y3^a + b y1^a + (1 - b) y2^a, {a, b}, {y1, y2, y3}, WorkingPrecision -> 40]

(*
{a -> 1.920883336444913919341922550921764678017*10^-34,
b -> 0.6588766973338608221513612419841153771431}
*)

又画了一下你的6组数据所代表aOb平面内的线,感觉上面的结果应该是可信的:
CODE:
{y1, y2, y3} = Most@Transpose@data;
eqs = -y3^a + b y1^a + (1 - b) y2^a == 0 // Thread
ContourPlot[Evaluate@Rationalize[eqs, 0], {a, -10^-34, 3 10^-34}, {b, 0.5, 0.8}, WorkingPrecision -> 40, PlotPoints -> 40]

mathematica 解方程
小木虫Mathematica版块已毁(当然原本也不咋的),建议大家前往百度贴吧或Stackexchange。
3楼2015-03-19 20:19:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dl355538623 的主题更新
信息提示
请填处理意见