Want to run the code for n values of X0, tried using for loop but didn,t get desired output.how to run for n values of X0?

if true
X = [ 0, 15 30 45 ];
Y = [50, 8.5, 2, 0.5];
X0 = 0;
n = 100;
f = 0.1;
x = linspace(min(X),max(X),n);
y = interp1(X,Y,x,'spline');
xt = X0+(0.1*(max(X)-min(X))*[-1 0 1]);
m = diff(y)./diff(x);
m = [m, m(end)];
k = min([find(x >= X0,1,'first'), length(x)]);
yt = y(k) + m(k)*(0.1*(max(X)-min(X))*[-1 0 1]);
plot(X,Y,'ro', x,y,'-b',xt,yt,'--g');
% code
end

3 commentaires

Please format the above code so that it is readable. Highlight the code portions (not your text that asks a question or states the error) and press the {} Code button.
What do you want the n values for X0 to be? The first is zero, the second one is… What should this sequence be?
X0=0:10

Connectez-vous pour commenter.

 Réponse acceptée

If X0 varies from 0 to 10 (and we assume a step size of 1), then a for loop could be introduced as follows
X0data = 0:1:10;
for i=1:length(X0data)
X0 = X0data(i);
X = [ 0, 15 30 45 ];
Y = [50, 8.5, 2, 0.5];
% etc.
plot(X,Y,'ro', x,y,'-b',xt,yt,'--g');
hold on; % to allow multiple plots on same figure
end
Try the above and see what happens.

4 commentaires

want to plot outside for loop;want to keep command: plot(X,Y,'ro', x,y,'-b',xt,yt,'--g'); hold on; outside for loop .is it possible?
Yes…but then you have to "save" X and Y at each iteration. Try it out and see.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide 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