行列を作成したいです。

3 visualizaciones (últimos 30 días)
Ken Takahashi
Ken Takahashi el 23 de Feb. de 2023
Comentada: Ken Takahashi el 24 de Feb. de 2023
%開始と終了のタイミングは解っている場合に、それを一列に並べた行列が作りたいのですが、うまくできません。
StartTiming = [1 22 45 78 91];
EndTiming = [3 34 72 83 100];
%上記二つの情報から
[ 1 2 3  22 23 24 25 26 27 28 29 30 31 32 33 34 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 78 79 80 81 82 83 91 92 93 94 95 96 97 98 99 100]
%となる様な行列を作成したいと考えています。
%実際は、遥かにデータの量が多いので、StartTimingとEndTimingから何等かの式で作りたいのですが上手く行きません。
% 基本がしっかり解っていれば、簡単に出来るこのなのでしょうが、宜しくお願い致します。

Respuestas (1)

交感神経優位なあかべぇ
交感神経優位なあかべぇ el 23 de Feb. de 2023
このような方法でどうでしょうか?
StartTiming = [1 22 45 78 91];
EndTiming = [3 34 72 83 100];
tmp = cell(1, length(StartTiming));
for i = 1 : length(tmp)
tmp{i} = StartTiming(i) : EndTiming(i);
end
ans = [tmp{:}]
ans = 1×60
1 2 3 22 23 24 25 26 27 28 29 30 31 32 33 34 45 46 47 48 49 50 51 52 53 54 55 56 57 58
  2 comentarios
Akira Agata
Akira Agata el 23 de Feb. de 2023
+1
arrayfun をうまく使って for ループ無しで書くこともできます。
StartTiming = [1 22 45 78 91];
EndTiming = [3 34 72 83 100];
tmp = arrayfun(@(a,b) a:b, StartTiming, EndTiming, 'UniformOutput', false);
Result = [tmp{:}]
Result = 1×60
1 2 3 22 23 24 25 26 27 28 29 30 31 32 33 34 45 46 47 48 49 50 51 52 53 54 55 56 57 58
Ken Takahashi
Ken Takahashi el 24 de Feb. de 2023
 迅速なお答え、誠にありがとうございました。この方法で実行できました。大変助かりました。
 このプログラムは、交感神経と副交感神経のバランスを評価するプログラムに組み込む予定です。
 ありがとうございました。
髙橋 健

Iniciar sesión para comentar.

Categorías

Más información sobre 行列および配列 en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!