if文の作り方を教えてください。
182 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
masaki yamate
il 20 Gen 2017
Commentato: masaki yamate
il 25 Gen 2017
if文の中の矩形波の中にX2のような矩形波を当てはめて、この矩形波と取得したYaw角(Yaw(121500:129500))の数値が近似した場合、disp('打音検査')と表示させたいのですが、近似式と取得した値が一致しているかを判断させるコードの作り方がわかりません。近似しなかった場合、次の階層に進むようにしたいのですがどうすればよいでしょうか。
x2 = 100*square(2*pi*(0.01475)*time(121500:129500));
plot(time(121500:129500),x2,'r-',time(121500:129500),Yaw(121500:129500))
% if矩形波(○)
% disp('橋面舗装、打音検査')
% else矩形波(×)
if文ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
x=142%梯子下内の閾値設定
for k=1:12
fprintf('%2.0f\n',k);
if (data6(k,8)<-15);
% 右(ピンク)
if (data6(k,11)>=300);
disp('再橋梁下内からの確認シーン')
else(data6(k,11)<300);
disp('橋梁下内からの確認シーン')
end
elseif(data6(k,8)<10 & data6(k,8)>=-15);
% 真ん中(紫)
if(data6(k,7)<=50);
disp('全景')
else(data6(k,7)>50);
disp('上流からの確認シーン')
end
else(10>data6(k,8));% 左(緑)
if(data6(k,24)<x);
disp('下流/再下流からの確認シーン')
else(data6(k,24)>=x);
% if矩形波(○)
% disp('橋面舗装、打音検査')
% else矩形波(×)
if(data6(k,23)>=3);
disp('支承と橋台裏確認')
elseif(data6(k,23)<3);
if(data6(k,2)<-60);
disp('排水装置')
elseif(data6(k,2)>=-60);
if(data6(k,8)>=40);
disp('伸縮装置')
elseif(data6(k,8)<40);
if(data6(k,24)<x+3);
disp('地ふく')
elseif(data6(k,24)>=x+3);
disp('こうらん')
end
end
end
end
end
end
end
Risposta accettata
Tohru Kikawada
il 24 Gen 2017
たとえば平均二乗誤差がある値よりも小さくなったら処理を進めるような処理は下記のように記載できます。
mse = mean((x2-Yaw(121500:129500)).^2);
if mse < 0.01
disp('橋面舗装、打音検査');
else
% それ以外の処理
end
2 Commenti
Takuji Fukumoto
il 24 Gen 2017
2つの波形の平均二乗誤差の算出についてはTohruさんが書かれたとおりかと思います。
数式と波形では差が大きいので、
立ち上がり時間やパルス幅、周波数など測定で評価することもできるかもしれません。
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Biomechanics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!