How to get all value with for loop
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I want to extract my value(str) under this loop 
But he always grabs the last value, not all values
How to modify it?
[Nodelocation] = textread('observe/mdNodeLocationXY_axisforGUI2.txt');
[UElocation] = textread('observe/mdUELocationforGUI2.txt');
[AssignCell] = textread('observe/AssignCell.txt');
scatter(Nodelocation(:,2),Nodelocation(:,3),150,'k','^','filled')
hold on;
inputNodeID =0; % 0 v 1
for ii=1:length(Nodelocation(:,1))
    for jj=1:length(UElocation(:,1))
        if AssignCell(jj,2) == Nodelocation(ii,1)
            if Nodelocation(ii,1) == 0 && ii == inputNodeID+1
                a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                str = string(AssignCell(jj,1));
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end  
            if Nodelocation(ii,1) == 1 && ii == inputNodeID+1
               a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                str = string(AssignCell(jj,1));
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end
        end
    end
end
0 comentarios
Respuestas (1)
  Alan Stevens
      
      
 el 22 de Jul. de 2020
        
      Editada: Alan Stevens
      
      
 el 22 de Jul. de 2020
  
      Use a counter? Something like the following perhaps:
counter = 0;
for ii=1:length(Nodelocation(:,1))
    for jj=1:length(UElocation(:,1))
        if AssignCell(jj,2) == Nodelocation(ii,1)
            if Nodelocation(ii,1) == 0 && ii == inputNodeID+1
                a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                counter = counter+1;
                str(counter) = string(AssignCell(jj,1));
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end  
            if Nodelocation(ii,1) == 1 && ii == inputNodeID+1
               a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                counter = counter+1;
                str(counter) = string(AssignCell(jj,1));
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end
        end
    end
end
or  possibly:
str = [];
for ii=1:length(Nodelocation(:,1))
    for jj=1:length(UElocation(:,1))
        if AssignCell(jj,2) == Nodelocation(ii,1)
            if Nodelocation(ii,1) == 0 && ii == inputNodeID+1
                a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                str = [str; string(AssignCell(jj,1))];
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end  
            if Nodelocation(ii,1) == 1 && ii == inputNodeID+1
               a = scatter(Nodelocation(ii,2),Nodelocation(ii,3),150,[1 0 0],'^','filled');
                hold on;
                b = scatter(UElocation(jj,2),UElocation(jj,3),50,[0 0.5 0],'x');
                str = [str; string(AssignCell(jj,1))];
                c = text(UElocation(jj,2),UElocation(jj,3),str);
            end
        end
    end
end
0 comentarios
Ver también
Categorías
				Más información sobre MATLAB Mobile en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

