Why does this code give a blank plot?
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!