24小时热门版块排行榜    

查看: 1182  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wodeai12345

银虫 (小有名气)

[求助] 请大神帮我看看,这个微分方程组要怎么编程计算 已有1人参与


B=2.84  ρl/ρg=890 Fr=5650000   初始条件为X=B 时 y=0, dy/dx=0
想求出X Y的曲线的坐标点(自己来画图)

自己编了一个 发现不对 求帮助

建立m文件jisuan1
function dy=eq2(x,y);
dy=zeros(3,1);
dy(1)=y(2);
dy(2)=1/(5650000*2.84^2)*(1+y(2)^2)^(1/2)*x^2*dy(3);
dy(3)=2.84/int(sqrt(1+y(2)^2),x,0,x)*[dy(3)+(1-dy(3))*890]^(1/2);

计算程序
x0=2.84,xf=100;
[x,y]=ode45('jisuan1',[x0,xf],[0,0,1]);
plot(x,y);
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wodeai12345

银虫 (小有名气)

引用回帖:
2楼: Originally posted by rxsu52 at 2016-07-14 06:33:05
这里y,c都可以看成变量x 的函数y(x), c(x),(x,y没写出下标r). 这是一个二阶常微分方程组。 因此数值解该微分方程组时,还需要给出c(x)的初始条件,即X=B时, c=?此外关于c的式子中,积分上下限位x,0,被积函数应该 ...

请把编程提供给我 我算出来马上采纳意见评分
4楼2016-07-14 08:22:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

匿名

用户注销 (初入文坛)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
wodeai12345: 金币+88, 有帮助 2016-07-14 09:22:42
本帖仅楼主可见
2楼2016-07-14 06:33:05
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

wodeai12345

银虫 (小有名气)

引用回帖:
2楼: Originally posted by rxsu52 at 2016-07-14 06:33:05
这里y,c都可以看成变量x 的函数y(x), c(x),(x,y没写出下标r). 这是一个二阶常微分方程组。 因此数值解该微分方程组时,还需要给出c(x)的初始条件,即X=B时, c=?此外关于c的式子中,积分上下限位x,0,被积函数应该 ...

是正确的 能不能把matlab的计算编程提供给我呢?  我自己编了好几天也算不对 主要是对编程不太懂
3楼2016-07-14 08:20:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wodeai12345

银虫 (小有名气)

引用回帖:
2楼: Originally posted by rxsu52 at 2016-07-14 06:33:05
这里y,c都可以看成变量x 的函数y(x), c(x),(x,y没写出下标r). 这是一个二阶常微分方程组。 因此数值解该微分方程组时,还需要给出c(x)的初始条件,即X=B时, c=?此外关于c的式子中,积分上下限位x,0,被积函数应该 ...

后面又编了一个 还是不对 简直要崩溃了  X=B时 C确实应该等于1
dy(2)=1/(Fr*B^2)*(1+dy(1)^2)^(1/2)*x^2*c;
c=B/int((1+dy(1)^2)^(1/2),x,0,x)*[c+(1-c)*(pj/pg)]^(1/2);
把第一个式子转换成C= XXX的形式 代入第二个式子里 消去C
dy(2)=1/(Fr*B^2)*(1+dy(1)^2)^(1/2)*x^2*B*[dy(2)*Fr*B^2/(1+dy(1)^2)^(1/2)/x^2+(1-dy(2)*Fr*B^2/(1+dy(1)^2)^(1/2)/x^2)*(pj/pg)]^(1/2)/int((1+dy(1)^2)^(1/2),x,0,x)

编程如下
function dy=rigid(x,y);
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=1/(5650000*2.84^2)*(1+dy(1)^2)^(1/2)*x^2*2.84*[dy(2)*5650000*2.84^2/(1+dy(1)^2)^(1/2)/x^2+(1-dy(2)*5650000*2.84^2/(1+dy(1)^2)^(1/2)/x^2)*890]^(1/2)/int((1+dy(1)^2)^(1/2),x,0,x)

主程序
[x,y]=ode45('rigid',[2.84 30],[0 0]);
plot(x,y);

提示错误
??? Undefined function or method 'int' for input arguments of type 'double'.

Error in ==> rigid at 4
dy(2)=1/(5650000*2.84^2)*(1+dy(1)^2)^(1/2)*x^2*2.84*[dy(2)*5650000*2.84^2/(1+dy(1)^2)^(1/2)/x^2+(1-dy(2)*5650000*2.84^2/(1+dy(1)^2)^(1/2)/x^2)*890]^(1/2)/int((1+dy(1)^2)^(1/2),x,0,x)
Error in ==> odearguments at 109
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

Error in ==> jisuanzhuchengxu at 1
[x,y]=ode45('rigid',[2.84 30],[0 0]);
5楼2016-07-14 08:35:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见