サンプルデータセットがないと、何も見つからなかったので、パルスの1つが1つ以上の上昇を返すか、または[]
を返すと思います。 risetime
see docは、与えられた信号内で見つかった上昇の数のベクトルを返します。
第1の信号が1だけ上昇し、次に第2の信号が2である場合、右手の結果の数は左手の割り当てと一致しません。PS2
をどこかにあらかじめ割り当てたと仮定します。
PS2をセル配列として定義して、どのパルスが予想される数(またはゼロ)の結果より多くを返すかを調べることができます。
PS2 = cell(size(PS1,2),1);
for k=1:size(PS1,2)
PS2{k} = risetime(PS1(:,k),80);
end
あなたが本当に唯一、あなたは一時的なVARを必要とし、最初の要素だけを取る最初の立ち上がり時間をしたい場合は...そのイベントで何かを行う、あなたの一時varは空のように出てくる(NaNのと交換)例:
PS2 = nan(size(PS1,2),1);
for k=1:size(PS1,2)
temp = risetime(PS1(:,k),80);
if ~isempty(temp)
PS2(k) = temp(1);
end
end
編集:また、私は列の数を取得するためにsize(..,2)
とlength
を置き換えるに注意してください。私は個人的に長さを使うのが好きではありません。だから、もしあなたが本当に長いシグナルを持っているのであれば、評価するための多くのパルスが問題に遭遇するかもしれません。
ありがとう、ちょうど私が必要なもの。 – toka15