Why does this code give a blank plot?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Keerthana R
le 26 Avr 2020
Commenté : Keerthana R
le 26 Avr 2020
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 commentaires
Réponse acceptée
Sriram Tadavarty
le 26 Avr 2020
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
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!