Why does this code give a blank plot?

1 回表示 (過去 30 日間)
Keerthana R
Keerthana R 2020 年 4 月 26 日
コメント済み: Keerthana R 2020 年 4 月 26 日
code:
for a=1:2:4
x=linspace(-5,5,300);
if (x>=0)
fx3=(x/a^2).*exp((-1/2)*(x/a).^2);
else
fx3=0;
end
figure(6);
plot(x,fx3);
hold on
end

採用された回答

Sriram Tadavarty
Sriram Tadavarty 2020 年 4 月 26 日
Hi Keerthana,
It is because the if condition placed is wrong, and always fx3 is getting 0, therby making only a single point.
Updated the code to match what you are trying below:
for a=1:2:4
x=linspace(-5,5,300);
fx3 = zeros(1,length(x)); % Intialize the value to zeros
xPositive = x(x>=0); % Find the values of x which are greater than or equal to 0
fx3(x>=0)=(xPositive/a^2).*exp((-1/2)*(xPositive/a).^2); % Update the value of fx3, when x >= 0
figure(6);
plot(x,fx3);
hold on
end
hold off
Hope this helps.
Regards,
Sriram
  1 件のコメント
Keerthana R
Keerthana R 2020 年 4 月 26 日
Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by