数学建模社区-数学中国

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

作者: famxpencil    时间: 2011-3-18 17:29
标题: 求助:如何将FindRoot[]的结果转化成数值形式?
如题,FindRoot[]的结果是{t -> **}的形式,如何将其中的数值**提出呢?
; j* l# |5 _9 V1 r+ W2 D- p% W8 q8 B6 I5 F; a1 C4 K3 q
此题背景为,想研究一个超越方程的某个参数变化时对根的影响.我最初的想法是' J$ A5 K* X( l' ^/ _- g3 k
( D. K( o( A( c" x& s
tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
+ U; T$ g$ A+ X$ L# s
; o! d  _) g" WListPlot[ tab ]
: I' x# Q0 O# A
1 x# O8 E. C+ F1 d可是ListPlot[]是无法识别{t -> **}形式的参数的.有什么函数可以将{t -> **}中的数值提出呢?或者,有没有什么更好的办法可以绕开这些表达式呢?
: j  l: q/ d: k* L# v" a8 I, I" e6 d+ E" N( b5 S
不胜感激.
作者: princekarate    时间: 2011-3-23 12:38
可以试试 expr /. rules' K; J, ?: W% ^8 {  o' W
比如这里的话就是
, W2 O* E$ N0 L# ?, Mtab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];( u/ E% |" {3 @! L8 k" F
x/.%
. O6 A9 O8 l+ l  n+ CListPlot[x]
' x: O( G) ]) ?6 E6 H/ g3 A. }3 ?: b0 X, l: {/ J6 C$ O: I
如果不行的话可以参考一下documentation center里面这个指令的具体使用
作者: famxpencil    时间: 2011-3-26 22:30
感谢啊,终于解决了
! X  X7 {8 h2 f2 k0 a& l( m基于楼上的提示,我改成:
: j: Q% E1 q/ F! L- E# H; P% Rtab = Table[ { t /. FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
/ N! s+ S' f  f终于是运行出来了,呵呵.( g% p! K! \3 k& K$ ?
再次感谢!




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