数学建模社区-数学中国

标题: 求助:如何将FindRoot[]的结果转化成数值形式? [打印本页]

作者: famxpencil    时间: 2011-3-18 17:29
标题: 求助:如何将FindRoot[]的结果转化成数值形式?
如题,FindRoot[]的结果是{t -> **}的形式,如何将其中的数值**提出呢?8 F+ f4 ?( n: U4 l: q9 |

' F! a  g1 d. z; B此题背景为,想研究一个超越方程的某个参数变化时对根的影响.我最初的想法是" X1 ]% D: x, t' E" r' {

  t9 Y" \! ~5 E, U, Z& C" ptab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];. F0 l! V0 O. Z( P8 [& K/ ~

( o1 x6 @4 f, i' ^% f& bListPlot[ tab ]
; }8 {9 v. V  O. Y! E3 Y7 K8 V( |  J  a: V3 _) h& I. J
可是ListPlot[]是无法识别{t -> **}形式的参数的.有什么函数可以将{t -> **}中的数值提出呢?或者,有没有什么更好的办法可以绕开这些表达式呢?
: J# L' f5 b& E7 _( K! D5 j/ z. ?" n/ f" [: E+ |" k
不胜感激.
作者: princekarate    时间: 2011-3-23 12:38
可以试试 expr /. rules: y* |0 W  G4 h$ T  O  ?+ a8 Q# j
比如这里的话就是
- z& Y8 j% j9 G8 |tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
) c& @) U: ^8 a$ u/ ]" G2 Ox/.%4 A) d( N" c/ P6 o( I* q' ]* Y" P
ListPlot[x]
3 k$ D  x$ @% G8 t& [' j8 d! e7 d" x( N% h% s: M
如果不行的话可以参考一下documentation center里面这个指令的具体使用
作者: famxpencil    时间: 2011-3-26 22:30
感谢啊,终于解决了
. B' a* m9 J, d) o6 G: @4 q) ]" H基于楼上的提示,我改成:* A9 W5 T4 M/ e, j, r3 T
tab = Table[ { t /. FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
, }! M) N9 P& K2 Y( o终于是运行出来了,呵呵.4 i) V; _4 N! P4 T2 m4 |
再次感谢!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5