if文をclasstification tree viewerで表示させる方法をおしえてください。
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
masaki yamate
el 19 de En. de 2017
Comentada: mizuki
el 24 de En. de 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
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
どなたかご存知の方がいらっしゃいましたら、教えていただけませんか。
0 comentarios
Respuesta aceptada
mizuki
el 19 de En. de 2017
FITCTREE 関数のドキュメントにあるようなtree viewer はルールベースドの手法ではなく機械学習の手法向けに作成されています.今回の場合は条件をあらかじめ指定するルールベースドの木を作成されたいため,残念ながらこのtree viewer を使用することはできません.そういった機能は無いため,ご自身で作成する必要があります.
二つ目の質問の○×表示はどこに表示させたいのでしょうか.tree viewerということであれば,前述の通りです. コマンドウィンドウでよければ disp 関数を使用します.
2 comentarios
mizuki
el 24 de En. de 2017
ある二つの値を比較する場合,差が0であれば一致しているとみなすことができます.例えば信号Aと信号B (両方ベクトル) を比較して一致していればdispを実行したい場合,
sum_diff = sum(A - B); % AとBの差をとり,全ての差を合計
if(sum_diff == 0)
disp('打音検査')
end
とします.
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Type Identification en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!