Plotting just x = 1 over an x and y graph
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Erin W
am 13 Okt. 2016
Kommentiert: Erin W
am 13 Okt. 2016
Howdy howdy howdy,
I have this following code which gives me two out of the three lines I need:
a = 2;
x = linspace(1,100,10);
for i=1:length(x)
y1(i) = 0*(i);
y2(i) = ((a-i).*(1+i))/i;
end
figure
plot(x,y1,x,y2)
I need to plot an additional line on the same plot. That line needs to be x = 1/(a-1) = 1.
Can someone help me?
Cheers! E
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 13 Okt. 2016
yl = get(gca, 'YLim');
line( [1 1], yl )
This would draw a vertical line the height of the axes. (Note: if you later make the axes taller, the line will not automatically adjust itself.)
Weitere Antworten (1)
Guillaume
am 13 Okt. 2016
a = 2;
x = 1:linspace(1, 100, 10);
y = 1:numel(x);
plot(x, [zeros(size(x)); (a-y).*(1+y)./y; repmat(1/(a-1), 1, numel(x))]);
is probably the simplest. The loop is certainly not required.
I don't particularly see the point of the brackets in 0*(i), and even less the point of the multiplication, since y1(i) = 0 would convey exactly the same with better readability.
In your y2 expression, a and i are both scalar, so .* is the same as * and ./ is the same as /, but really you should be consistent.
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!