if文をclasstification tree viewerで表示させる方法をおしえてください。

1 vue (au cours des 30 derniers jours)
masaki yamate
masaki yamate le 19 Jan 2017
Commenté : mizuki le 24 Jan 2017
・if文をclasstification tree viewerで表示させたいです。理想としては、このリンクのclasstification tree viewer(https://jp.mathworks.com/help/stats/fitctree.html)のように表示させたいのですがやり方がわかりません。 どなたか教えていただけませんか。
・下記のif文の中の矩形波の中にX2のような矩形波を当てはめて、この矩形波と取得したYaw角(Yaw(121500:129500))の数値が近似した場合「○」と表示させ、近似しなかった場合、次の階層に進むようにしたいのですがどうすればよいでしょうか。
if true
% code
end
x2 = 100*square(2*pi*(0.01475)*time(121500:129500));
plot(time(121500:129500),x2,'r-',time(121500:129500),Yaw(121500:129500))
if true
% code
end
% if矩形波(○)
% disp('橋面舗装、打音検査')
% else矩形波(×)
if文ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
if true
% code
end
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
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
どなたかご存知の方がいらっしゃいましたら、教えていただけませんか。

Réponse acceptée

mizuki
mizuki le 19 Jan 2017
FITCTREE 関数のドキュメントにあるようなtree viewer はルールベースドの手法ではなく機械学習の手法向けに作成されています.今回の場合は条件をあらかじめ指定するルールベースドの木を作成されたいため,残念ながらこのtree viewer を使用することはできません.そういった機能は無いため,ご自身で作成する必要があります.
二つ目の質問の○×表示はどこに表示させたいのでしょうか.tree viewerということであれば,前述の通りです. コマンドウィンドウでよければ disp 関数を使用します.
  2 commentaires
masaki yamate
masaki yamate le 20 Jan 2017
ご回答くださりありがとうございます。二つ目の質問の話なのですが、矩形波と取得値が一致していたら、disp('打音検査')と設定させたいのですが、矩形波と近似しているかを判断させるコードの作り方がわかりません。
mizuki
mizuki le 24 Jan 2017
ある二つの値を比較する場合,差が0であれば一致しているとみなすことができます.例えば信号Aと信号B (両方ベクトル) を比較して一致していればdispを実行したい場合,
sum_diff = sum(A - B); % AとBの差をとり,全ての差を合計
if(sum_diff == 0)
disp('打音検査')
end
とします.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by