当前位置: 首页 > 知识库问答 >
问题:

MATLAB求解不变流形上的ODE

海岳
2023-03-14
dn/dt=f(n,v)
dh/dt=g(h,v)

共有1个答案

乔望
2023-03-14

我觉得@lutzl的评论很有帮助。可以使用ode15s设置DAE求解器。示例:https://www.mathworks.com/help/matlab/ref/ode15s.html中的“将Robertson问题作为半显式微分代数方程(DAEs)求解”部分

在我的例子中,我会设置一个矩阵:

M=[zeros(1,3);0,1,0;0,0,1];
options = odeset('Mass',M,'RelTol',1e-5,'AbsTol',1e-6,'MaxStep',0.01);
y0=[v0,n0,h0];
[T,Y]=ode15s(@slow,[0 50],y0,options);

是一个定义为:

function dy = slow(t,y)
    v=y(1); n=y(2); h=y(3);
    dy=zeros(3,1);
    dy(1)=F(v,n,h);
    dy(2)=f(n,v);
    dy(3)=g(h,v);
end
 类似资料:
  • 所以,我正在用ODE45在MATLAB中求解一些ODE。它们和代码没有什么特别复杂的,但是每个ODE解决方案需要20-30分钟来获得,我需要获得大约10分钟。(这是一个参数扫描。) 当我坐在那里等待解的到来时,我发现自己希望有一种方法可以在解诗的时候看着解画出来,这样既可以让自己确信正在取得进展,也可以在解似乎有问题的时候结束解。 有没有一种方法从ode45返回当前的(不完整的)解,并在解的时候实

  • 我在AS3工作。 我有一个通用的矩形。这个矩形可以有任何长度、任何宽度和任何旋转。我正在尝试求解矩形四个角的x和y坐标。我知道矩形中心的坐标,我知道它的宽度、高度、最高点和最低点之间的y距离以及最远左侧和最远右侧之间的x距离,以及知道旋转。 我的代码目前看起来像这样(当然,对象是有问题的矩形,请记住,当我应用它时,它可以具有任何维度 - 这只是一种可能性。初始宽度和高度是实际的长度和宽度,而后面引

  • 主要内容:绘制条形图,绘制等高线,三维图本章将继续探讨MATLAB的绘图和图形函数功能。下面将会讨论 - 绘制条形图 绘制轮廓 三维图 绘制条形图 命令绘制二维条形图,下面举个例子来演示如何使用。 示例 假设有名学生,这些学生某次考试获得分数是:75,58,90,87,50,85,92,75,60和95,使用这此分数来绘制条形图如下。 创建脚本文件并键入以下代码 - 运行文件时,MATLAB显示以下条形图 - 绘制等高线 两个变量的函数

  • 我这次问题是基于我几个月前问过的一个老问题(见这里),如果你不想重复我的第一个问题,我可以对这个问题做一个简短的概述。 第二个包含函数的求值点: 这个离散函数是一个ode,我需要用MATLAB中的ode45来求解它。但是ode45不采用离散函数,所以解决方法是插值这两个向量。然后我可以有一个函数句柄,我可以将它发送到ode45,如下所示: 我现在的问题: 我已经尝试了不同的事情,但我的编程技能只是

  • 主要内容:在MATLAB中求解基本代数方程,求解代数中的基本代数方程,在MATLAB中求解二次方程,在Octave中求解二次方程,求解MATLAB中的高阶方程,在Octave中求解高阶方程,MATLAB中求解方程组,在Octave中求解方程组,在MATLAB中扩展和集合方程,在Octave扩展和集合方程,代数表达式的因式分解和简化到目前为止,我们已经看到所有的例子都在MATLAB以及它的GNU,或者称为Octave。 但是,为了求解基本代数方程,MATLAB和Octave都不同,所以这里将分别介

  • 这是我第一次发帖,所以如果你需要更多的信息或者我没有做正确的事情,请让我知道! 其中f(a)可以是另一个基于常数的函数a。 我已经按照以下顺序设置了我的代码; 常数,然后是f(a)形式的方程,然后是我的微分方程,后面是ode45求解器和plot命令。然而,我得到了几个错误“未定义的函数或变量”,因为早期的方程依赖于变量/方程,直到后来才被定义。 非常感谢您的帮助:) 正如建议的,这里是我的代码类型