
Why does this split of the plot lines doesn't work?
7 views (last 30 days)
Show older comments
x = linspace(0,8.7,1000)
a = zeros (1,1000)
b = zeros (1,1000)
c = zeros (1,1000)
d = zeros (1,1000)
hold on;
grid on;
%////////////////////////////////////////////////Fall 1///////////////////
figure(1);
for i = 1:1000
a(i) = 6.5*4000./((6.5-x(i)));
b(i) = 10500
c(i) = 6.5*9500./((x(i)));
d(i) = 500./(x(i)-6.5);
if a(i)<b(i)
plot(x,a,'.')
end
if d(i)<c(i)<b(i)
plot(x,c,'.')
end
if d(i)<c(i)
plot(x,d,'.')
end
plot(x,b,'.')
end
axis([0 10 0 12000])
0 Comments
Accepted Answer
John BG
on 9 Jan 2017
Edited: John BG
on 10 Jan 2017
the graph function is not the same as in grafik.png and the lower area needs some improvement, but would you consider the following a start point?
x=[1:1:100];y1=x([1:1:30]);y2=x(3)*ones(1,20);y3=x([30:-1:1]);y4=zeros(1,20);
y=[y1 y2 y3 y4];y=y+10;plot(x,y,'r')
patch('XData',x,'YData',y,'FaceColor','red','LineStyle','none')
axis([0 numel(x) 0 max(y)+5])
z=y-3; % lift
delay=7
z([1:1:end-delay+1])=z([delay:1:end]) % advance
hold all
plot(x,z,'b')

0 Comments
More Answers (3)
Walter Roberson
on 6 Jan 2017
if d(i)<c(i)<b(i)
means the same as
if ((d(i)<c(i))<b(i))
The calculation d(i)<c(i) returns back 0 (false) or 1 (true), and you then compare that 0 or 1 to b(i)
1 Comment
Walter Roberson
on 7 Jan 2017
Fixing the if and adding some semi-colons produces a reasonable looking graph.
John BG
on 7 Jan 2017
Edited: John BG
on 7 Jan 2017
Herr Rüger
I am confident I can supply the correct answer, but i kindly ask for some clarification.
Dein script, with lines instead of dots, i have nur reduced the amount of points from 1000 down to 10:
x = linspace(0,8.7,10)
a = zeros (1,10)
b = zeros (1,10)
c = zeros (1,10)
d = zeros (1,10)
for i = 1:10
a(i) = 6.5*40./((6.5-x(i)));
b(i) = 105
c(i) = 6.5*95./((x(i)));
d(i) = 5./(x(i)-6.5);
if a(i)<b(i)
subplot(2,2,1);plot(x,a');axis([0 10 0 120]);grid on;hold all
end
if d(i)<c(i)<b(i)
figure(2);subplot(2,2,2);plot(x,c');axis([0 10 0 120]);grid on;hold all
end
if d(i)<c(i)
subplot(2,2,3);plot(x,d');axis([0 10 0 120]);grid on;hold all
end
subplot(2,2,4);plot(x,b');axis([0 10 0 120]);grid on;hold all
end

.
Aso, would you please define 'split' in the context of deine frage?
thanks for time and attention, awaiting comment
John BG
0 Comments
See Also
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!