run the for loop only once Matlab

29 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2016-8-31
编辑:Azzi Abdelmalek 2016-8-31
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 个评论
Alex
Alex 2016-9-1
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 2016-9-1
编辑:Alex 2016-9-1
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.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2016-8-31
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.

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by