Borrar filtros
Borrar filtros

How do I repeat the comand for another line

2 visualizaciones (últimos 30 días)
Brenno Selli
Brenno Selli el 27 de Feb. de 2023
Respondida: Brenno Selli el 27 de Feb. de 2023
I need to repeat the command for 10 lines so that the array is 10x60001
The code is
dt = dx1./v;
tempo = [0:dt(:,1):(length(road_x1)-1)*dt(:,1)];
"dt" is an 1x10 array with different values on each column
"tempo" is resulting in a 1x60001 array getting only the first value from dt, I need it to get the values from all the colunms resulting in a 10x60001 array, I tryed tempo = 0:dt:(length(road_x1)-1)*dt but it didn't work either.
sorry if i wasn't clear, my english is a bit rusty.

Respuesta aceptada

KSSV
KSSV el 27 de Feb. de 2023
Editada: KSSV el 27 de Feb. de 2023
dt = dx1./v; % let dt be 10x1 array
m = length(dt) ;
n = 60001 ;
temp0 = zeros(m,n) ;
for i = 1:n
tempo(:,i) = 0:dt(i):(length(road_x1)-1)*dt(i) ; % If this results into 60001
end
In the above the RHS step should result into 1x60001 array. IF not
dt = dx1./v; % let dt be 10x1 array
m = length(dt) ;
n = 60001 ;
temp0 = cell(m,1) ;
for i = 1:n
tempo{i} = 0:dt(i):(length(road_x1)-1)*dt(i) ;
end
If your target is to get only 10x60001 array.
dt = dx1./v; % let dt be 10x1 array
m = length(dt) ;
n = 60001 ;
temp0 = zeros(m,n) ;
for i = 1:n
tempo(:,i) = linspace(0,(length(road_x1)-1),n) ; % This results into 60001
end
  5 comentarios
Brenno Selli
Brenno Selli el 27 de Feb. de 2023
Ita working as It should now, thank you very much my dear, it's almost 2AM here in Brazil and your help was generous and kind.
Image Analyst
Image Analyst el 27 de Feb. de 2023
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

Iniciar sesión para comentar.

Más respuestas (1)

Brenno Selli
Brenno Selli el 27 de Feb. de 2023
Trying again to code it to another sample, it's resultin in a error
Index exceeds the number of array elements. Index must not exceed 10.
Error in ESTATISTICAS_DESCRITIVAS (line 51)
tempo(:,j) = 0:dt(j):(length(road_x1)-1)*dt(j) ;
the code that I'm using right now is
dt = transpose(dx1./v); %making it a 10x1 array
m = length(dt);
n = length(verticalperf1); %verticalperf1 is na vector 1x60001, I used this vector just because sometimes the length may change and it makes the code run by the size of the verticalperf1
temp0 = zeros(m,n) ;
for j = 1:n
tempo(:,j) = 0:dt(j):(length(road_x1)-1)*dt(j) ;
end
the code results in a array (60001x10) called "tempo", its completely okay, the vallues are good and acurate, it works but the error is not allowing me to proceed, theres any way that I can solve it or just skip this error??

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by