Effacer les filtres
Effacer les filtres

Argggh! My equation isn't plotting right with a for loop!!!

1 vue (au cours des 30 derniers jours)
Jesse
Jesse le 27 Mar 2015
Commenté : Jesse le 27 Mar 2015
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

Réponse acceptée

Image Analyst
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)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by