MATLAB: If文の作り方 if statementMATLAB日本語 指定のセルの区間において、セル(Yaw)の数値が50行続けて100を超えていたら、それは正しいというような文を作りたいのですが、どうすればよいでしょうか。 for k=1:end Yaw(k;1)>100 上のようなコードに追加して、セルの数値が指定の範囲で50行続けて100を超えていたらのような文を作りたいのですがどうすればよいでしょうか。 Best Answer 連続してしきい値を超えているかは下記の方法で判定することができます。 こちらも合わせてご参照ください。% 信号を作成t = (0:500)';Yaw = abs(400*sin(2*pi*(t-50)/200)+200);% 100以上の箇所を判定T = 100; % 値のしきい値over100 = Yaw > 100;% 時系列で信号変化のある箇所を検出f = find([false;over100]~=[over100;false]);% 1の期間の幅が50以上の箇所を抽出N = 50; % 期間のしきい値g = find(f(2:2:end)-f(1:2:end-1)>=N);% 時間を取得t_start = t(f(2*g-1));% 可視化figure;subplot(211), plot(t,Yaw);hold on;plot([t(1) t(end)],[T T]);subplot(212), plot(t,over100);hold on;stem(t_start,ones(numel(t_start),1));実行結果t_start = 42 242 442 Related SolutionsMATLAB: ネットワークライセンスへの変更 Network Concurrent Licenseへの変更は可能ですが、 追加費用は発生すると思われますので、 MathWorks担当営業へお問い合わせいただきますようお願いいたします。 MATLAB: スペクトル形状のグラフ化 最大エントロピー法の出力がマイナスの範囲で出てくる部分が理解できていません。複素数ということでしょうか。パワースペクトルなので0以上の値が出てくるという認識を持っています。最大エントロピー法でスペクトル推定する方法としては こちら のページのユール・ウォーカー AR 法が分かりやすいかと思います。ご参考になれば幸いです。% 音声データのロードload mtlb% ユール・ウォーカー AR 法では、最大エントロピー推定器として同じ結果が生成されるorder = 14;[Pxx,F] = pyulear(mtlb,order,1024,Fs);% 可視化plot(F,10*log10(Pxx));xlabel('周波数(kHz)');ylabel('パワースペクトル密度(dB/Hz)');grid on; Related Question3次元点群データの体積算出Can’t I calculate the definite integralライセンスに関連付けられているエンドユーザの変更が出来ません3次元点群をZ軸周りで回転させるにはHow to generate a sine signal in which initially frequency increases linearly, then remains constant for some time and again decreases linearly.
Best Answer