这是一道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
只写了第二张图的不知道对不对,你看一下吧
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))+e*(r(t)-L1(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));
L1(end+1)=l1;L2(end+1)=l2;L3(end+1)=l3;L4(end+1)=l4;L5(end+1)=l5;
end
plot([0:0.01:t],L1,L2,L3,L4,L5);
legend('L1','L2','L3','L4','L5');
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
我们数模还没搞完,预计得今晚,明天你什么时候交作业?我打算明天凌晨帮你弄,就是有点肝…你遇到那一段不会我再帮你修改吧,先自己写一部分,这样我也好早点帮你搞好
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!你先翻译下,嘿嘿,看不懂