计算机仿真之盐水浓度动态变化

题目:
某水池有2000m3水,其中含盐2kg,以每分钟6m3的速率向水池内注入含盐率为0.5kg/m3的盐水,同时又以每分钟4m3的速率从水池流出搅拌均匀的盐水.①试用计算机仿真该水池内盐水的变化过程,②并每隔10min计算水池中水的体积、含盐量和含盐率.③欲使池中盐水的含盐率达到0.2kg/m3,需经过多少时间?
分析:①由于水池中不断有不同浓度的盐水流进,同时也会流出一部分,故含盐量时时刻刻在变化,且题目要求为池水含盐量随着时间的变化,故需要建立池水含盐量随着时间变化的微分关系:
以s、y、w分别表示含盐量、含盐率、池水中水的体积:
s(t+dt)=s(t)+3dt-4s(t)/y(t);
y(t)=2000+6dt-4dt;
通过关系式可以解得:
s=2000000+3000000t+3000t2+t3)/(1000+t)2;
接下来为程序的运行:
h=1;/步长为1/
s0=2;/初始含盐量/
y0=0.001;/含盐率/
w0=2000;
y0=s0/w0;/含盐率/
s(1)=s0+3h-4h-r0;
w(1)=w0+2h;
y(1)=s(1)/w(1);
t(1)=h;
y(1)=(2000000+3000000
h+3000h2+h3)/(1000+h)^2;/微分方程求导得到。/
for i=2:200;
t(i)=h+i;
s(i)=s(i-1)+3h-4
s(i-1)/w(i-1);
y(i)=s(i)-w(i);
m=floor(i/10);
if i/10-m<0.1(即i正好被整除的时候)
tm(m)=t(i);
sm(m)=s(i);
ym(m)=y(i);
end
if y(i)>0.2
t02=ih;
s02=s(i);
y02=y(1);
end
end
[10
tm’,sm’,rm’;t02’,s02’,r02’]最后画出图像即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值