if文の作り方を教えてください。
171 views (last 30 days)
Show older comments
masaki yamate
on 20 Jan 2017
Commented: masaki yamate
on 25 Jan 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
Accepted Answer
Tohru Kikawada
on 24 Jan 2017
たとえば平均二乗誤差がある値よりも小さくなったら処理を進めるような処理は下記のように記載できます。
mse = mean((x2-Yaw(121500:129500)).^2);
if mse < 0.01
disp('橋面舗装、打音検査');
else
% それ以外の処理
end
2 Comments
Takuji Fukumoto
on 24 Jan 2017
2つの波形の平均二乗誤差の算出についてはTohruさんが書かれたとおりかと思います。
数式と波形では差が大きいので、
立ち上がり時間やパルス幅、周波数など測定で評価することもできるかもしれません。
More Answers (0)
See Also
Categories
Find more on Biomechanics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!