右侧
当前位置:网站首页 > 资讯 > 正文

C语言dsolve,if函数的使用方法C语言

作者:admin 发布时间:2024-04-13 17:11 分类:资讯 浏览:22


导读:用Mathematica8解微分方程解不了,您知道是怎么回事吗?如果重启了就正常了,那八成是你对某些参数赋了值没清空。仔细观察你的变量的颜色,如果某些本该是蓝色的变量显示为了黑色...

用Mathematica8解微分方程解不了,您知道是怎么回事吗?

如果重启了就正常了,那八成是你对某些参数赋了值没清空。仔细观察你的变量的颜色,如果某些本该是蓝色的变量显示为了黑色,那么,就要把它清掉。

DSolve求不出微分方程解析解的情况还是比较常见的,要么是方程本身没解析解,要么是DSolve不会求它的解析解。相对而言,NDSolve的表现就要好得多。

等号要用==。单独一个等号=在Mathematica(以及别的一些编程语言)里只是表示赋值,不表示相等。表示相等的要用==。改成下面这样就能解出来了。

DSolve解不了这个方程组而已,没什么奇怪的。(非线性常微分方程没符号解的情形很常见。)补足边界条件(你这方程需要四个你才给了两个),再试试NDSolve的话应该有点希望。

第一,求解微分定解问题是视问题不同是需要初始条件和边界条件的,你的这个,我试了下,补充两个初始条件的话即可解,当然可能还有其他可用的初始条件,你可以自己试试。

MAPLE画三维图象

具体的可以在帮助里搜 plot3d,以及查看对应的 plot3d/options 可选项帮助。

直接输入指令,有两种,plot与plot3d。

你这个就是它的解吧,如果有原微分方程,可以在求解的同时绘图等等。

axis equal %等比例显示三维坐标 shading interp %加个影子美化 colormap(copper) %着色为铜色 movie(m) %把刚才存到m里的图像连续播放一遍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

matlab实现欧拉法和RK-4方法的数值计算

最后,将计算出的函数值作为微分方程的近似解。 欧拉法迭代式 预估校正欧拉法。预估校正欧拉法是对欧拉算法的改进方法。微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值,这个过程称为离散化。

数值积分法也是计算机仿真中常用的一种方法。在已知函数的微分方程时,求解函数下一时刻的值,我们主要有欧拉法、梯形法和龙格库塔法。欧拉法,这些方法中精度最低的,程序相对简单。

中点法应该比欧拉法数值稳定性高,但从上面的程序看,中点法得到的结果却是发散的。我仔细查了好几遍程序,可能是因为已经形成思维定势的原因,没发现问题。请题主再自己检查一下看看。

使用泰勒公式以此方法为基础,有龙格-库塔法、线性多步法等方法 数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时(k为正整数,h为步长),称它是一个k阶公式。k越大,则数值公式的精度越高。

非线性微分方程的求解

这个没有一个统一的解法。实际上已经证明了,存在这样的方程,他虽然有解析解,但无法用初等积分方法解出。比如著明的 黎卡提 方程。

三元二阶非线性微分方程组用Matlab解,可以按下列思路求解。

首先可以肯定的告诉你,matlab本身有个pde工具箱,可以求解一般的典型二阶线性偏微分方程。但是,对于非线性的偏微分方程,我估计很难直接用matlab的工具箱或者函数命令得到结果。

第二行是在解微分方程,t为自变量(注意在上一步定义函数的时候一定要把t也定义进去,不然matlab不会认为这是个微分方程);第三行就是画相图了。方程的解就保存在变量t和x里,s里面有多少个点你就会得到多少个x和y。

用数值方法吧,把t=0时的y值输入,即可解出来。

ns方程解析解如下:NS方程是指纳维-斯托克斯方程,描述粘性不可压缩流体动量守恒的运动方程。它是一个非线性偏微分方程,描述了粘性流体的运动行为。对于NS方程的解析解,理论物理和数学领域一直在进行深入的研究。

标签:


关灯