13.2 判定分岐 追加の練習
24 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
佳奈子 浜口
el 15 de Jun. de 2021
Respondida: Atsushi Ueno
el 15 de Jun. de 2021
elseif キーワードを if の後に使用すると、条件を追加できます。elseif ブロックは複数含めることができます。
密度を表示するかどうかを切り替える変数 doDisplay を追加してみてください。この条件は elseif ブロックと共に追加します。
doDisplayはどういう変数なのでしょうか?ヘルプに記載がなく下記の入力ではdoPlotが0の時にエラーが表示されます.
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
elseif doDisplay
else
disp("The density of " + element ...
+ " is " + density)
end
0 comentarios
Respuesta aceptada
Atsushi Ueno
el 15 de Jun. de 2021
doDisplayは変数名なので、自分で定義してください。質問文のコードは「doDisplayが何か分からない」旨のエラーになります。下記のような定義をすれば問題文の意図した動きになります。
doPlot = 0;
doDisplay = 1; % doDisplayを1と定義したので、必ずelseif doDisplayの箇所が実行される
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
elseif doDisplay
disp('ここで密度を表示する');
else
disp("The density of " + element ...
+ " is " + density)
end
質問の箇所は、条件判定と分岐を行うif文の動作を理解する為のチュートリアルです。例えば下記コードでa,b,cの値をどうすれば、条件判断分のどこが実行されるか(どこが実行されないか)を理解する事が目的です。
a = 0; b = 0; c = 1;
if a
disp('a が真の(ゼロでない)場合');
elseif b
disp('先の条件が全て成立せず、b が真の(ゼロでない)場合');
elseif c
disp('先の条件が全て成立せず、c が真の(ゼロでない)場合');
else
disp('先の条件が全て成立しなかった場合');
end
0 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!