famxpencil 发表于 2011-3-18 17:29

求助:如何将FindRoot[]的结果转化成数值形式?

如题,FindRoot[]的结果是{t -> **}的形式,如何将其中的数值**提出呢?

此题背景为,想研究一个超越方程的某个参数变化时对根的影响.我最初的想法是

tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];

ListPlot[ tab ]

可是ListPlot[]是无法识别{t -> **}形式的参数的.有什么函数可以将{t -> **}中的数值提出呢?或者,有没有什么更好的办法可以绕开这些表达式呢?

不胜感激.

princekarate 发表于 2011-3-23 12:38

可以试试 expr /. rules
比如这里的话就是
tab = Table[ { FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
x/.%
ListPlot

如果不行的话可以参考一下documentation center里面这个指令的具体使用

famxpencil 发表于 2011-3-26 22:30

感谢啊,终于解决了
基于楼上的提示,我改成:
tab = Table[ { t /. FindRoot[ (a COMPLICIATE expr) == 0, {t, t0} ], x }, {x, xmin, xmax, di} ];
终于是运行出来了,呵呵.
再次感谢!
页: [1]
查看完整版本: 求助:如何将FindRoot[]的结果转化成数值形式?