how can i put a limitation rules for below codes?
1 view (last 30 days)
Show older comments
i have some values of Pch=Pcharging and Pdis=Pdischarging that i mentioned below and i want to write codes for limitation but the codes that i wrote is not working specially for Pch. Could you please and please help me. thanks
i mean;
Pmax= 3600wh
Pmin=0wh
Pch wont be 3750 , must not be bigger than 3600
Pdis wont be -150, must not be smaller than 0
Pch=[2600 2750 2800 2950 3010 3100 3300 3580 3750];
Pdis=[3450 3330 2900 1500 1200 850 300 22 -150];
it these codes right? if not how can i write it?
%%% for Pch:
a=1;
b=0;
result_data=[];
while a<=length(Pch);
b= Pch(a)+b;
result_data(a+1)=b;
a=a+1;
if result_data <= Pmax ;
finalresult = result_data;
elseif result_data > Pmax ;
break;
end
finalresult;
end
%%% for Pdis
if Pdis(1,i) >= Pmin;
Pdis_1=Pdis(1,i);
elseif Pdis(1,i) < Pmin
Pdis(Pdis<0)=0;
end
2 Comments
Rik
on 15 Dec 2019
What should happen with the values that are not allowed? Should they be removed from the vector, or should they be assigned the boundary value?
Answers (1)
Rik
on 16 Dec 2019
With logical indexing it is easy to remove impossible values:
Pmax= 3600;
Pmin=0;
Pch=[2600 2750 2800 2950 3010 3100 3300 3580 3750];
Pdis=[3450 3330 2900 1500 1200 850 300 22 -150];
Pch(Pch>Pmax | Pch<Pmin)=[];
Pdis(Pdis>Pmax | Pdis<Pmin)=[];
4 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!