数学建模社区-数学中国

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

作者: famxpencil    时间: 2011-3-18 17:29
标题: 求助:如何将FindRoot[]的结果转化成数值形式?
如题,FindRoot[]的结果是{t -> **}的形式,如何将其中的数值**提出呢?4 j+ Y& Z& K$ K! S( y# x5 S

6 g4 y5 }7 Q( O& b; I# E. [6 p此题背景为,想研究一个超越方程的某个参数变化时对根的影响.我最初的想法是
' g; W6 _% F) k# u) f& \) q& f2 X
tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];! A6 m1 C, D8 H7 i# @5 t* ?, u

! l4 W/ |$ y7 C: [ListPlot[ tab ]
+ A" k" G% {  E4 o0 j7 o9 M' {. n0 R
- r# [/ |6 c# j- D  t8 U/ Y7 S可是ListPlot[]是无法识别{t -> **}形式的参数的.有什么函数可以将{t -> **}中的数值提出呢?或者,有没有什么更好的办法可以绕开这些表达式呢?
; K: W  v0 \7 T/ {6 |( l$ j
; ~' k! J, S2 _/ `4 g& t不胜感激.
作者: princekarate    时间: 2011-3-23 12:38
可以试试 expr /. rules& ]+ M. i, _0 f; ]" M. z9 n
比如这里的话就是
( ^7 R% w2 t- ]  v% c/ S( n1 itab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];$ i* B% R0 d1 U
x/.%; a) N) @' h( }5 E, ?3 g* l
ListPlot[x]3 H! d, H* |0 ?/ q' \0 T- W
/ T" Q  A5 c6 z
如果不行的话可以参考一下documentation center里面这个指令的具体使用
作者: famxpencil    时间: 2011-3-26 22:30
感谢啊,终于解决了
& _, @4 V3 w8 J/ z; _基于楼上的提示,我改成:
/ i- K& C/ f9 I( \% {0 [tab = Table[ { t /. FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];$ e& u7 s( M1 h. r) _
终于是运行出来了,呵呵.% m# H, S7 \$ w. b9 \9 P
再次感谢!




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