mtlab入門のプログラミング 判定分岐タスク2に対し解答通りに入力しても、”doPlot が 0 のとき、密度は表示されますか?”が表示される。
13 次查看(过去 30 天)
显示 更早的评论
以下が入力した内容です。問題が有りましたら指摘願います。
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The density of" + element ...
+ " is " + density)
end
0 个评论
回答(2 个)
Hernia Baby
2022-9-8
of の後、スペースが抜けています。
変更前
element = 1;
density = 0;
disp("The density of" + element ...
+ " is " + density)
変更後
disp("The density of " + element ...
+ " is " + density)
0 个评论
Hiro Yoshino
2022-9-9
disp("The density of" + element ...
+ " is " + density)
から察するに、element は string 型 なのかなと思いました。そうすると
xticklabels(element)
は x軸の tick label を与えるコマンドなので、string 型だと tick の数が少ない可能性があります。
以下の方が適当かなと思いました?
xlabel(element)
仮に、element が string 配列型 だとしても、xticks で表示位置を指定しないと意図しないx 軸の場所に element が出てしまいます。
xticklabels をご参照ください。そして element が string 配列型だと、
element = ["a", "b", "c"];
disp("the density of " + element);
となってしまい、期待と違うのかな? とも思いますが、どうでしょうか?
これが期待通りというのであれば、xticks を以下のように使うと所望の x 軸の部分に element を表示させることができます。
if doPlot
plot(density)
title("Sample Densities")
xticks([0 5 10]); % 例えばこんな感じで指定
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The density of " + element ...
+ " is " + density)
end
因みにですが、
string 型というのは
myString = "Hello"
string 配列型というのは
myStringArray = ["Hello", "こんにちは", "Hallo"]
みたいなものことです。
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!