24小时热门版块排行榜    

查看: 1504  |  回复: 8

379631818

铁杆木虫 (著名写手)

[求助] 请教mathematica中求解问题 已有1人参与

程序如图(附件也上传了),用的是mathematica 9版本

用FindRoot求解时,为什么改变初值,也得不到正确的结果呀

运行后结果严重不正确,求高人出手指点,谢谢

请教mathematica中求解问题
未命名.JPG
回复此楼

» 猜你喜欢

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

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

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

感谢参与,应助指数 +1
定义函数的时候 用 " :=" 而不是 "=",两个含义差别很大;
调试的时候后面不要加 "; " , 如果有返回值, 跟没有返回值是不同的.
ส็็็็็็็็็็็็็็็็็็็็
2楼2014-07-28 12:50:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

引用回帖:
2楼: Originally posted by cooooldog at 2014-07-28 12:50:15
定义函数的时候 用 " :=" 而不是 "=",两个含义差别很大;
调试的时候后面不要加 "; " , 如果有返回值, 跟没有返回值是不同的.

谢谢,已按您所说的,重新修改了程序,得到的都是虚根,得到的结果还是错误的呀?应该是实根才对呀
请教mathematica中求解问题-1
未命名.JPG

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : umfaNs.nb
  • 2014-07-28 13:09:44, 6.1 K
3楼2014-07-28 13:07:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
3楼: Originally posted by 379631818 at 2014-07-28 13:07:55
谢谢,已按您所说的,重新修改了程序,得到的都是虚根,得到的结果还是错误的呀?应该是实根才对呀

未命名.JPG
...

你这是解什么? 一个有两个变量的等式,解出两个变量的值?
ส็็็็็็็็็็็็็็็็็็็็
4楼2014-07-28 15:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

我把公式写出来看了下
发现超出了我能理解的范畴;
ส็็็็็็็็็็็็็็็็็็็็
5楼2014-07-28 15:54:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
5楼: Originally posted by cooooldog at 2014-07-28 15:54:01
我把公式写出来看了下
发现超出了我能理解的范畴;

公式看上去有些吓人:
请教mathematica中求解问题-2
ส็็็็็็็็็็็็็็็็็็็็
6楼2014-07-28 16:13:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

379631818

铁杆木虫 (著名写手)

引用回帖:
4楼: Originally posted by cooooldog at 2014-07-28 15:06:45
你这是解什么? 一个有两个变量的等式,解出两个变量的值?...

fumfa是一个行列式的通式,在用FindRoot求解时,根据给出的时间t,求出对应的Os,目的是作出t-Os的图
7楼2014-07-28 16:20:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
7楼: Originally posted by 379631818 at 2014-07-28 16:20:53
fumfa是一个行列式的通式,在用FindRoot求解时,根据给出的时间t,求出对应的Os,目的是作出t-Os的图...

应该是你定义函数的时候用的函数的问题; 把他们都取实部或者分解成更简单的实函数的形式
ส็็็็็็็็็็็็็็็็็็็็
8楼2014-07-28 16:35:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
379631818: 金币+10, ★★★很有帮助, 加一半分给您了,虽然问题并没有完全解决 2014-08-01 17:39:03
引用回帖:
7楼: Originally posted by 379631818 at 2014-07-28 16:20:53
fumfa是一个行列式的通式,在用FindRoot求解时,根据给出的时间t,求出对应的Os,目的是作出t-Os的图...

看上去没有什么问题
虚部为0

先定义
f[\[CapitalOmega]s_, t_] :=
fumfa[2.0, 1.0, \[CapitalOmega]s, 2.0, 3.5, t, 4]

然后用不带冒号的方式定义:
g[x] = Assuming[Element[x && t, Reals], Simplify[f[x, t]]]

求解并忽略警告或提示信息:
ylist=Re[x]/.Table[Assuming[Element[x, Reals], FindRoot[g[x], {x, 4.0}]], {t, 0.1,   4.0, 0.2}]
xlist =Table[{t}, {t, 0.1, 4.0, 0.2}]

画图
ListPlot[Transpose@{xlist, ylist}, PlotStyle -> Red,
PlotRange -> {{0, 5}, {-2, 15}}, AxesOrigin -> {0, -2}, Axes -> True,
  Frame -> All]

请教mathematica中求解问题-3
ส็็็็็็็็็็็็็็็็็็็็
9楼2014-07-29 07:45:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 379631818 的主题更新
信息提示
请填处理意见