这是一道matlab相关的物理项目,要求是使用matlab代码以及使用matlab进行作图,希望能得到一些思路。
谢谢大家。
这是一道matlab相关的物理项目,要求是使用matlab代码以及使用matlab进行作图,希望能得到一些思路。
个人理解,leader应该是水位最高的灌溉区,每一次水位调整都需要调整leader和follower,参考楼上和我自己的理解,得到的解法和结果如下:
clear all
clc
L1=0.58;L2=0.55;L3=0.52;L4=0.50;L5=0.48;e=0.5;a=0.005;
for t=0.01:0.01:2500
l1=-a*L1(end)+abs(L1(end)-L2(end))+abs(L1(end)-L4(end));
l2=-a*L2(end)+abs(L2(end)-L1(end))+abs(L2(end)-L5(end));
l3=-a*L3(end)+abs(L3(end)-L4(end));
l4=-a*L4(end)+abs(L4(end)-L1(end))+abs(L4(end)-L3(end))+abs(L4(end)-L5(end));
l5=-a*L5(end)+abs(L5(end)-L2(end))+abs(L5(end)-L4(end));
max_level=max(max(max(max(L1(end),L2(end)),L3(end)),L4(end)),L5(end));
switch max_level
case L1(end)
l1=l1+e*(r(t)-L1(end));
case L2(end)
l2=l2+e*(r(t)-L2(end));
case L3(end)
l3=l3+e*(r(t)-L3(end));
case L4(end)
l4=l4+e*(r(t)-L4(end));
case L5(end)
l5=l5+e*(r(t)-L5(end));
end
L1(end+1)=l1;L2(end+1)=l2;L3(end+1)=l3;L4(end+1)=l4;L5(end+1)=l5;
end
X=0:0.01:t;
L=[L1;L2;L3;L4;L5];
color=['r','b','c','m','g'];
for i=1:5
subplot(3,2,i);
plot(X,L(i,:),color(i));
xlim([0 t])
xlabel("时间(s)");
ylabel("水位(m)");
title(['L' num2str(i) '水位变化图']);
end
function L=r(T)
L=0;
if 0<T && T<1000
L=0.8;
end
if 1001<T && T<2500
L=0.85;
end
end