数学建模社区-数学中国
标题:
求助:如何将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 i
tab = 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