[Scilab-users] Avoiding a loop
Frieder Nikolaisen
Frieder.Nikolaisen at student.hs-rm.de
Wed May 10 17:25:36 CEST 2017
There was a piece of code missing:
P = [
1, 0;
2, 50;
5,
110;
10, 80;
11, 200
15, 0];
batt = 1000;
gen = 0;
n = 1
for n=1:5
if P(n,2) > 100 then
if batt > 800 then batt = batt - P(n,2) *
(P(n+1,1) - P(n,1))
else
gen = gen + P(n,2) * (P(n+1,1) - P(n,1))
end
else
batt = batt - P(n,2) * (P(n+1,1) - P(n,1))
end
disp('n ' +
string(n))
disp('batt ' + string(batt))
disp('gen ' +
string(gen))
end
Am 2017-05-10 17:23, schrieb Frieder Nikolaisen:
>
Hello,
>
> I did write an example code, but I do not like the time
consuming way I solved the problem. With 50 000 lines in the matrix, it
wouldn't be fun.
>
> How can I avoid using the for-loop?
>
> 10,
80;
> 11, 200
> 15, 0];
>
> batt = 1000;
> gen = 0;
>
> n = 1
> for
n=1:5
>
> if P(n,2) > 100 then
> if batt > 800 then batt = batt -
P(n,2) * (P(n+1,1) - P(n,1))
> else
> gen = gen + P(n,2) * (P(n+1,1) -
P(n,1))
> end
>
> else
> batt = batt - P(n,2) * (P(n+1,1) - P(n,1))
>
end
> disp('n ' + string(n))
> disp('batt ' + string(batt))
> disp('gen
' + string(gen))
> end
>
> Thanks alot!
>
> Best regards
> Frieder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20170510/a3f4bf7d/attachment.htm>
More information about the users
mailing list