Argggh! My equation isn't plotting right with a for loop!!!
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Greetings all,
This is probably trivial and overlooking a minor detail, but I have the following code, and I think my problem is that I have to start at zero somewhere:
Response_values= 0:0.1:2;
phiv=zeros(size(Response_values));
for n=1:length(Response_values)
if Response_values(n)<2.1
phiv(n)=(4*n)/((4*n.^2+1).^3/2)
else
phiv(n)=0;
end
end
plot(Response_values,phiv);
As it is right now, "n" isn't being indexed right, therefore my plot is wrong. I know as of right now it starts at 1 and goes to 21. I wanted the equation to go from 0 to 2 in .1 increments. I know in MATLAB you can't start at an index of zero, so I searched these boards and tried to code the above.
Any help would be appreciated.
Thanks! -J
0 commentaires
Réponse acceptée
Image Analyst
le 27 Mar 2015
Try this:
Response_values= 0:0.1:2;
phiv=zeros(size(Response_values));
for n=1:length(Response_values)
rValue = Response_values(n);
if rValue < 2.1
phiv(n)=(4*rValue)/((4*rValue.^2+1).^3/2)
else
phiv(n)=0;
end
end
plot(Response_values,phiv);
grid on;
xlabel('Response Value', 'FontSize', 20);
ylabel('phiv', 'FontSize', 20);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!