谁软件画下这个方程图
y/(1-x)=1/2*(1+y'^2)^(1/2)-y' y(0)=0 y(1)=0 求数值解画图两大软件直接罢工了 谁还有办法 本帖最后由 kastin 于 2014-7-7 12:30 编辑一阶常微分方程,只需要一个初值条件即可,不需要形成边值条件。
% matlab codes
odefun=@(x,y)fsolve(@(dy)sqrt(1+dy^2)-dy-y/(1-x),x);
xspan=; %求解区间为
y0=0;% 初值y(0)=0
=ode45(odefun,xspan,y0);
plot(x,y,'.-'), axis equal
看上去像是半圆
我的不太一样:
wayne 发表于 2014-7-7 11:47
我的不太一样:
我用Mathematica求出微分方程根
选取其中第二个正根,然后用matlab求解微分方程
odefun=@(x,y)(sqrt((x-1)^2*(3*x^2-6*x+4*y^2+3))+4*(x-1)*y)/3/(x-1)^2;
=ode45(odefun,,0);
plot(x,y,'.-'),axis()
结果是
下面是Mathematica解的正半支。
嗯是这样的。估计我用的函数命令不同导致画不出。这是高中时候思考的一个国际物理竞赛题:质点在原点,被(1,0)点的线拴着,质点受向上电场力E,受摩擦力f f>=E.现在绳子慢慢变短,求质点运动过的轨迹。原题直接是E=f结果是半圆。这里我列的是f/E=2的方程 kastin 发表于 2014-7-7 11:29
一阶常微分方程,只需要一个初值条件即可,不需要形成边值条件。
看上去像是半圆
这个应该用ode15i 函数恰当些。
http://www.mathworks.cn/cn/help/matlab/ref/ode15i.html 断断续续花了两天时间,下载安装了个MATLAB r2014a,测试了ode15i函数:
===
所以,我想要说的是,工具永远只是工具,工具出问题了不要第一反应就归咎于工具:
楼主请收回你说的这句话: 求数值解画图两大软件直接罢工了
页:
[1]