mtlab入門のプロ​グラミング 判定分岐​タスク2に対し解答通​りに入力しても、”d​oPlot が 0 のとき、密度は表示されますか?”が表示される。

10 views (last 30 days)
修
on 8 Sep 2022
Answered: Hiro Yoshino on 9 Sep 2022
以下が入力した内容です。問題が有りましたら指摘願います。
if doPlot
plot(density)
title("Sample Densities")
xticklabels(element)
ylabel("Density (g/cm^3)")
else
disp("The density of" + element ...
+ " is " + density)
end

Answers (2)

Hernia Baby
Hernia Baby on 8 Sep 2022
of の後、スペースが抜けています。
変更前
element = 1;
density = 0;
disp("The density of" + element ...
+ " is " + density)
The density of1 is 0
変更後
disp("The density of " + element ...
+ " is " + density)
The density of 1 is 0

Hiro Yoshino
Hiro Yoshino on 9 Sep 2022
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);
"the density of a" "the density of b" "the density of c"
となってしまい、期待と違うのかな? とも思いますが、どうでしょうか?
これが期待通りというのであれば、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"]
みたいなものことです。

Categories

Find more on GUIDE アプリの移行 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!