mathematica中对定义的函数作运算
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/08/10 18:32:24
mathematica中对定义的函数作运算
举个简单的例子:我要解一个微分方程组{dx1/dt=x1+H,dx2/dt=x1*x2-H} 其中H=x1^2+x1*x2,而x1,x2都是t的函数.我要先定义H,然后在用DSolve解这个方程组的时候会引用H.求问怎样实现?
举个简单的例子:我要解一个微分方程组{dx1/dt=x1+H,dx2/dt=x1*x2-H} 其中H=x1^2+x1*x2,而x1,x2都是t的函数.我要先定义H,然后在用DSolve解这个方程组的时候会引用H.求问怎样实现?
H = x1[t]^2 + x2[t]^2;
equ = {D[x1[t],t] == x1[t] + H,D[x2[t],t] == x1[t]*x2[t] - H};
sol = DSolve[equ,{x1,x2},t]
但这样求不出来 这可能这方程组没有解析解
你可以尝试数值解法 带入x1 ,x2的初始值,在一定范围的t内求数值解 就是
H = x1[t]^2 + x2[t]^2;
equ = {D[x1[t],t] == x1[t] + H,D[x2[t],t] == x1[t]*x2[t] - H,x1[0] == -0.1,x2[0] == 0.1};
sol = NDSolve[equ,{x1,x2},{t,0,5}]
Plot[{sol[[1,1,2]][t],sol[[1,2,2]][t]},{t,0,5},PlotRange -> All]
这里假设 x1[0] == -0.1,x2[0] == 0.1,并画出了t在[0,5]之间的值
你改变下初始条件 你可以看到这方程增长很快 经常趋向无穷大
equ = {D[x1[t],t] == x1[t] + H,D[x2[t],t] == x1[t]*x2[t] - H};
sol = DSolve[equ,{x1,x2},t]
但这样求不出来 这可能这方程组没有解析解
你可以尝试数值解法 带入x1 ,x2的初始值,在一定范围的t内求数值解 就是
H = x1[t]^2 + x2[t]^2;
equ = {D[x1[t],t] == x1[t] + H,D[x2[t],t] == x1[t]*x2[t] - H,x1[0] == -0.1,x2[0] == 0.1};
sol = NDSolve[equ,{x1,x2},{t,0,5}]
Plot[{sol[[1,1,2]][t],sol[[1,2,2]][t]},{t,0,5},PlotRange -> All]
这里假设 x1[0] == -0.1,x2[0] == 0.1,并画出了t在[0,5]之间的值
你改变下初始条件 你可以看到这方程增长很快 经常趋向无穷大
mathematica中对定义的函数作运算
mathematica中如何在定义的函数中输出图形
mathematica中怎么定义函数在某个单点的值?
Mathematica中(圈+)(圈×)的定义运算问题,麻烦不懂得不要乱说
mathematica的多元函数怎么定义?
mathematica作函数图像
mathematica 中如何 定义一个函数 以及 引用这个函数
mathematica如何定义函数式未知的函数?
Matlab 对矩阵中每个元素进行函数运算 函数是自己定义的分段函数 出错怎么解决
一个Mathematica函数定义问题
mathematica求助:如何对带有字母的多项式进行运算?
能解释下这个mathematica定义的函数么?