如何绘制枫树中二阶微分方程的解

时间:2021-03-09 21:53:20

标签: plot differential-equations maple

我的代码附在图片中。如何将解 y(x) 绘制为 x 的函数?这个 BVP y(x) 的解由命令 dsolve({de, ics}) 给出 enter image description here

with(DEtools);

      w := 20
      t := 5
      L := 200
      Base_TD := 0
      End_TD := 100
      x0 := 100
      K := 350*10^(-6)
      h := 850*10^(-12)
      de := diff(y(x), x, x) = 2*h*(w + t)*y(x)/(K*w*t) - (x - x0)^2
      dsolve(de)
      ics := y(0) = Base_TD, D(y)(100) = -h*End_TD/K
      dsolve({de, ics})

1 个答案:

答案 0 :(得分:0)

你可以精确地或数字地解决这个问题。

他们的情节非常吻合。

restart;
w := 20: t := 5: L := 200:
Base_TD := 0: End_TD := 100: x0 := 100:
K := 350*10^(-6): h := 850*10^(-12):

de := diff(y(x), x, x)
      = 2*h*(w + t)*y(x)/(K*w*t)
        - (x - x0)^2:

ics := y(0) = Base_TD,
       D(y)(100) = -h*End_TD/K:

精确求解,然后绘制绘图,

exactsol := dsolve({de, ics}):

PE := plot(rhs(exactsol), x=0..100):

数值求解(即生成一个程序,在需要的时间点进行数值求解),然后绘制绘图,

numericsol := dsolve({de, ics}, numeric):

PN := plots:-odeplot(numericsol,[x,y(x)],
                     x=0..100,
                     thickness=5,color=green):

将两者放在一起显示以进行比较

plots:-display(PN,PE);

enter image description here

检查第二个边界条件,

evalf(ics);
numericsol(100);
plots:-odeplot(numericsol,[x,diff(y(x),x)],
               x=90 .. 100,
               thickness=5,color=green);