本文主要是介绍MATLAB代码,课设。容器内有100L盐水,含盐10kg。 现以每分钟3L的速度注入含有0.01kg的盐水(假定两种盐水立即均匀混合),同时又以每分钟2L的均匀速度从容器内抽出盐水,按要求完成下面题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
容器内有100L盐水,含盐10kg。 现以每分钟3L的速度注入含有0.01kg的盐水(假定两种盐水立即均匀混合),同时又以每分钟2L的均匀速度从容器内抽出盐水,按要求完成下面题目:
(1)用模拟法每隔10min计算一次容器内盐水的体积、含盐量和含盐率,观测60min后盐水的含盐量;
(2)建立微分方程;计算60min后容器内盐水的含盐量;
(3)做出用上述两种方法得到的容器内盐水含盐量随时间的变化曲线。
代码:
在命令行窗口直接输入如下:
%(1)
v(1)=100;
w(1)=10;
p(1)=w(1)/v(1);
for t=10:10:60
v((t/10)+1)=10*3+v((t/10));
w((t/10)+1)=10*0.01*3+w((t/10));
w((t/10)+1)=(1-(10*2/v((t/10)+1)))*w((t/10)+1);
v((t/10)+1)=v((t/10)+1)-10*2;
p((t/10)+1)=w((t/10)+1)/v((t/10)+1);
end
v%盐水体积
w%含盐量
p%含盐率
t=0:10:60;
subplot(1,2,1)
plot(t,w,'*--')
axis([0 60 5 10])
title('模拟法含盐量图像')
%(2)
subplot(1,2,2)
s=dsolve('Dw0=3*0.01-2*w0/(100+t)','w0(0)=10');
ezplot(s,[0,60])
axis([0 60 5 10])
title('微分方程含盐量图像')
x=subs(s,'t',60)
%(3)图像如下:%输出结果如下:
v =100 110 120 130 140 150 160
w =10.0000 8.7154 7.7275 6.9571 6.3500 5.8676 5.4824
p =0.1000 0.0792 0.0644 0.0535 0.0454 0.0391 0.0343
x =1637/320
这篇关于MATLAB代码,课设。容器内有100L盐水,含盐10kg。 现以每分钟3L的速度注入含有0.01kg的盐水(假定两种盐水立即均匀混合),同时又以每分钟2L的均匀速度从容器内抽出盐水,按要求完成下面题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!