run the for loop only once Matlab

33 visualizzazioni (ultimi 30 giorni)
Alex
Alex il 31 Ago 2016
Modificato: Alex il 1 Set 2016
Hi everybody, i want to know if its possible to run the for-loop only once.
total_Route = zeros(4,4);
for i=1:4
total_Route(i,1)=Distance_Traveled_CM;
total_Route(i,2)=Hauptantrieb_Verbrauchte_Energie_CM;
total_Route(i,3)=Nebenaggregate_Verbrauch_Real_CM;
total_Route(i,4)= i;
Total_Distance_Traveled_CM = sum(total_Route(:,1));
set(handles.edit3, 'string',Total_Distance_Traveled_CM);
Total_Hauptantrieb_Verbrauchte_Energie_CM=sum(total_Route(:,2));
set(handles.edit4, 'string',Total_Hauptantrieb_Verbrauchte_Energie_CM);
Total_Nebenaggregate_Verbrauch_Real_CM=sum(total_Route(:,3));
set(handles.edit5, 'string',Total_Nebenaggregate_Verbrauch_Real_CM);
%%Index
set(handles.edit15, 'string',i);
after the running this code, "i" is then at the end 4 and the for-loop will be runs 4 times
i want to run the for-loop only once and "i" should be incremented after each pass
I am thankful for every help

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 31 Ago 2016
Modificato: Azzi Abdelmalek il 31 Ago 2016
If you want to run it once, then don't use a for loop, to increment ii, use
ii=mod(ii,4)+1
don't use i, it's used to represent complex numbers
  8 Commenti
Alex
Alex il 1 Set 2016
Hallo Azzi,
im using normal scripts, i creatd a Matrix with 4×4 Element with the Goal to save the results off each my Variable in a element off my Matrix.
Example:
the first pass: ii=0 ->> Distance_Traveled 900(first element (1,1)) the gui will take the sum of the first column wich (900+0+0+0) and write it in a static test
the second pass i=1-->Disantace traveled(2,1) 800 the gui will take the sum of the first column wich (900+800+0+0) and write it in a static test and same thing should happen with the other column
i want through the gui every time to write the summe of a column of my Matrix and write it in a satic text box. i
hope, u catch what i mean
Alex
Alex il 1 Set 2016
Modificato: Alex il 1 Set 2016
i think the Problem is that ii doesnt keep his last Value
id=whos('ii')
if isempty(id)
ii=0
end
ii=ii+1
because with this code will be ii always 1.

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 31 Ago 2016
Why not simply replace this line
for i=1:4
with this line:
i = 1;
It will do the code just once since it won't even be in a loop.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by