How do I repeat the comand for another line

2 ビュー (過去 30 日間)
Brenno Selli
Brenno Selli 2023 年 2 月 27 日
回答済み: Brenno Selli 2023 年 2 月 27 日
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.

採用された回答

KSSV
KSSV 2023 年 2 月 27 日
編集済み: KSSV 2023 年 2 月 27 日
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 件のコメント
Brenno Selli
Brenno Selli 2023 年 2 月 27 日
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 2023 年 2 月 27 日
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.

サインインしてコメントする。

その他の回答 (1 件)

Brenno Selli
Brenno Selli 2023 年 2 月 27 日
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??

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by