How code lines that move apart?

2 次查看(过去 30 天)
How would I be able to have 2 lines moving apart at a given rate? For example, 2 lines (L1 and L2) both starting at (0,0) and then moving apart incrementally to L1=x=1, L2=x=-1; then L1=x=2 L2=x=-2 and so on.
  5 个评论
Conrad Suen
Conrad Suen 2016-6-15
The lines would be vertical (simply x=constant). There is no way to plot lines moving apart from one another? I attached a picture to possibly help. I can restrict the y coordinate to whatever value needed (ie y cannot be greater than 10)
Conrad Suen
Conrad Suen 2016-6-15
I want to do something like this except each line needs to be the same length.
t = 0;
last = 10;
step = 0.1;
while t <= last
k=0
i=5
k=0
% x=[k+t,k-t]
% y=[5,-5]
x=[t,t]
y=[-k+t,k-t];
plot (x,y)
drawnow
t = t+step;
hold on
end

请先登录,再进行评论。

采纳的回答

Vidya Viswanathan
Vidya Viswanathan 2016-6-16
Hi Conrad,
Is this what you are looking for?
x=[-2:0.1:2];
y=[-10 10];
x=repmat(x,[2 1]);
plot(x,y)
This code snippet gives the following figure:
In this case, I have considered only two points in the y-axis. If you need multiple points between your required limit (say -10 and 10), you can modify the code in the following manner:
y=[-10:0.1:10];
x=[-2:0.1:2];
x=repmat(x,[length(y) 1]);
plot(x,y)
You'll basically get the same figure but will multiple data points in each straight line. I hope this helps.
Regards,
Vidya Viswanathan
  1 个评论
Conrad Suen
Conrad Suen 2016-6-16
Almost! I figured it out after some tinkering throughout the day; here's what I came up with:
close all
clear
clc
t = 0;
last = 10;
step = 0.1;
while t <= last
x=[t,t];
z=[-t,-t];
y=[5,-5];
plot (x,y)
plot (z,y)
drawnow
t = t+step;
axis equal
hold on
end
hold on

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Graphics Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by