数学建模社区-数学中国

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

作者: famxpencil    时间: 2011-3-18 17:29
标题: 求助:如何将FindRoot[]的结果转化成数值形式?
如题,FindRoot[]的结果是{t -> **}的形式,如何将其中的数值**提出呢?* Q, v' u+ y1 }! `

$ N5 s. Y1 M; u$ s此题背景为,想研究一个超越方程的某个参数变化时对根的影响.我最初的想法是
8 q0 X; M# Q5 ^4 E+ ~, t7 D
9 m! {) z4 n" A( F3 g" M9 }tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];- y4 m1 @/ |/ I7 t% {# q
1 ]4 a4 Z# X+ R9 C( X
ListPlot[ tab ]9 ~& o' c, [2 ]/ O+ t5 B7 h9 r
0 K8 q* u% x. B% \1 ^' i
可是ListPlot[]是无法识别{t -> **}形式的参数的.有什么函数可以将{t -> **}中的数值提出呢?或者,有没有什么更好的办法可以绕开这些表达式呢?% c4 K* @3 w9 ~$ y4 V. \
7 a5 n* w. |$ o2 V# K4 k
不胜感激.
作者: princekarate    时间: 2011-3-23 12:38
可以试试 expr /. rules/ f" [9 a- Q0 X+ d$ X
比如这里的话就是
( Z( k* Z( X. O' F4 c; E) o/ V4 rtab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
5 ]. ?) _4 `$ kx/.%
7 Z# @4 f- X; XListPlot[x]7 ~* A& D+ }) X) `

, T9 G5 I+ R0 `  o/ l, h; W( O如果不行的话可以参考一下documentation center里面这个指令的具体使用
作者: famxpencil    时间: 2011-3-26 22:30
感谢啊,终于解决了
0 z9 ?# t& q( U6 w6 M: @9 o基于楼上的提示,我改成:
& k2 @: i! x% w2 H3 b7 Htab = Table[ { t /. FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];. J0 P- l, q" t1 _' B
终于是运行出来了,呵呵.
- c- ~& N' t! A* r再次感谢!




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