我照着书上的例子用dsolve求解一个微分方程,
s=dsolve('Dy=y*t/(t-5)','y(0)=2'),书本上的出的结果是
s=-2/3125*exp(t)*(t-5)^5,但是我运行得出的结果是
s =-(2*exp(t + 5*log(t - 5)))/3125
,这两个结果怎么显示完全不一样呢???
问一个matlab求解微分方程结果显示不同的问题
matlab中默认“log()”是以e为底
请问matlab 解偏微分方程出3d的图时出现这样的情况是为什么,怎么解决...
答案是对的,例如 syms x y >> da=dsolve('Dx=y+1,Dy=x+1','x(0)=-2,y(0)=1') da = x: [1x1 sym] y: [1x1 sym] 这就是你说的情况了。如要详细一点,用指令: >> da.x ans = 1\/2*exp(t)-3\/2*exp(-t)-1 >> da.y ans = 1\/2*exp(t)+3\/2*exp(-t)-1 ...
MATLAB 求解微分方程的错误 不知道在哪
解决方法:1.在画解析解和欧拉解时横轴用x的转置;在画数值解时横轴用x,已运行成功 2.在用ode数值求解时设定分散点的个数,与x相同即可
为什么MATLAB的ode45函数和我按照龙格库塔法解出来的结果不一样?
为什么MATLAB的ode45函数和我按照BK4(龙格库塔法)解出来的结果不一样?其根本的原因是时间区间取了太大而造成,因为该微分方程超过【0,1.6】后,ode45法和BK4法得到的图像就失稳。由于ode45法和BK4法虽然都是龙格库塔法的思想,但ode45法是采用变步长进行计算,而BK4法是采用定步长进行计算,所以...
matlab 求微分方程组时出错
1、先求出dfmiu的导数。由于在这里无法用这个命令来求,dfmiu=diff(miu,y(1)),只能是dfmiu=diff(miu,y);2、然后在按要求写出微分方程组自定义函数,即 function dy=lujing(t,y)dy=zeros(3,1);miu =((261121*(y(1) - 6670)^2)\/(100*y(1)^2) + 32\/81)^(1\/2);dfmiu =((...
用matlab求解二阶微分方程数值解,程序出现错误,求大神指点
1、把 G=1\/3*((5*Pp-2*P1)\/(P1-2*Pp)-P1*c1^2\/Pp*cp^2);改成 G=1\/3*((5*Pp-2*P1)\/(P1+2*Pp)-P1*c1^2\/(Pp*cp^2));表达式的错误导致出现高频振荡,积分步长非常小(大约在10^-8量级),所以很长时间算不出。2、从结果看,仿真时间取50秒就足够了(已进入稳态)。3...
MATLAB求解微分方程答案不对~~
matlab 考虑了复数, 导致结果复杂化.可以用不太严格的方法把复数域的解和实数域的解建立联系 这种情况下matlab的解只能用作参考.如果还是希望用matlab, 可以尝试用数值解法.也能达到很高的精确度.下面这张图是用数值解法(ode45)求解的.蓝线是y的数值解.红色记号是精确解.可以看到, 两者几乎重合, 说明...
matlab用差分法求微分方程的解图像时出现了数组索引必须为正整数或逻辑...
matlab用差分法求微分方程的解图像时出现了数组索引必须为正整数或逻辑值的错误?首先,为什么会出错,主要是没有理解数组的物理存的地址原理。由于电脑默认物理储存的地址是从1开始的,而y(-2)=exp(-4)的意思,想将exp(-4)储存在y变量的-2地址中,所以会出错,正确的方法是y(1)=exp(-4)。其二...
matlab求微分方程的为什么错误
因为你提供的微分方程用dsolve()得不到其解析解,只能用数值分析来求解。可以用matlab提供了微分方程数值求解函数ode45()。求解过程如下:y0=30;[x,y] = ode45(@func,[0 10],y0);plot(x,y)xlabel('x'),ylabel('y(x)')legend('y(x)数值解')func.m 自定义函数文件 function f= func...
matlab ode45解微分方程组
1、你贴出来的报错信息和代码对不上号:前面显示错误的那行代码和你贴出来的完全不一样;而后面的错误(Input argument 'u1' is undefined)也不可能是目前的代码所导致的——的确是有错,但错误应该是iL未定义才对。2、使用ode*系列函数解常微分方程,用于描述微分方程的函数(例如你这里的current)...