mathematica解偏微分方程数值解,用s=NDSolve[.],如何从s中提出数值解,或者这个s是什么?我初次使用mathematica,我自己写了一个程序来解偏微分,为了验证程序的正确性,利用mathematica的NDSolve函数来解偏
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 22:21:58
![mathematica解偏微分方程数值解,用s=NDSolve[.],如何从s中提出数值解,或者这个s是什么?我初次使用mathematica,我自己写了一个程序来解偏微分,为了验证程序的正确性,利用mathematica的NDSolve函数来解偏](/uploads/image/z/6933569-41-9.jpg?t=mathematica%E8%A7%A3%E5%81%8F%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E6%95%B0%E5%80%BC%E8%A7%A3%2C%E7%94%A8s%3DNDSolve%5B.%5D%2C%E5%A6%82%E4%BD%95%E4%BB%8Es%E4%B8%AD%E6%8F%90%E5%87%BA%E6%95%B0%E5%80%BC%E8%A7%A3%2C%E6%88%96%E8%80%85%E8%BF%99%E4%B8%AAs%E6%98%AF%E4%BB%80%E4%B9%88%3F%E6%88%91%E5%88%9D%E6%AC%A1%E4%BD%BF%E7%94%A8mathematica%2C%E6%88%91%E8%87%AA%E5%B7%B1%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%A7%A3%E5%81%8F%E5%BE%AE%E5%88%86%2C%E4%B8%BA%E4%BA%86%E9%AA%8C%E8%AF%81%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%80%A7%2C%E5%88%A9%E7%94%A8mathematica%E7%9A%84NDSolve%E5%87%BD%E6%95%B0%E6%9D%A5%E8%A7%A3%E5%81%8F)
mathematica解偏微分方程数值解,用s=NDSolve[.],如何从s中提出数值解,或者这个s是什么?我初次使用mathematica,我自己写了一个程序来解偏微分,为了验证程序的正确性,利用mathematica的NDSolve函数来解偏
mathematica解偏微分方程数值解,用s=NDSolve[.],如何从s中提出数值解,或者这个s是什么?
我初次使用mathematica,我自己写了一个程序来解偏微分,为了验证程序的正确性,利用mathematica的NDSolve函数来解偏微分,将其结果和我的结果对比.程序如下:
其中有S=NDSolve[.].(1)我想s就是得出的数值解,但是我怎么把每个值取出来呢,比如我想看到u(10,1,1)的值什么的,或者得到t=10时x行y列的值的矩阵.
(2)我想知道那个s到底是什么,是个数据结构还是啥东西?
mathematica解偏微分方程数值解,用s=NDSolve[.],如何从s中提出数值解,或者这个s是什么?我初次使用mathematica,我自己写了一个程序来解偏微分,为了验证程序的正确性,利用mathematica的NDSolve函数来解偏
(1) u(10,1,1) 的数值值,
(u /. s[[1]])[10, 1, 1]
t=10 时 x 行 y 列的值的矩阵,x 与 y 分别从 1 到 100 时的函数值,要想生成其他点上的数据矩阵,可以在帮助查看函数 Array 的用法.
Array[(u /. s[[1]])[10, #1, #2] &, {100, 100}]
(2) 那个 s 实际上是一个规则 Rule,u 和 微分方程数值解的规则,
{{u->InterpolatingFunction[{{0.,10.},{0.,100.},{0.,100.}},<>]}}
函数 InterpolatingFunction 和 Mathematica 中其他的函数没什么本质区别,可以用来画图什么的,下面这是 t=10 的图像.
Plot3D[(u /. s[[1]])[10, x, y], {x, 0, 100}, {y, 0, 100}]