how can I plot an array by array?

4 views (last 30 days)
Moj
Moj on 12 Dec 2014
Answered: Image Analyst on 12 Dec 2014
Dear community,
I want to plot an array by array but I don't know how to do this. x and y are 1 * 300 arrays.
for i = 7e-5:1e-5:3e-4
x(1,:) = 1 + 2*i;
y(1,:) = 3 + i;
end
plot(x,y)
how can I plot this easy problem?
  1 Comment
Guillaume
Guillaume on 12 Dec 2014
Can you explain better what you're trying to do?
Note that if x and y are 1*300 arrays, your loop is equivalent to:
i = 7e-5:1e-5:3e-4 %24 elements
x(1:24) = 1 + 2*i
y(1:24) = 3 + i
That is, you're replacing the first 24 elements of x and y.

Sign in to comment.

Accepted Answer

Thorsten
Thorsten on 12 Dec 2014
val = 7e-5:1e-5:3e-4;
for i=1:length(val), x(i) = 1 + 2*val(i); y(i) = 3 + val(i);end
plot(x,y)
  1 Comment
Guillaume
Guillaume on 12 Dec 2014
So Moj, if that's what you were looking for, what does the x and y are 1 * 300 arrays has to do with it.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 12 Dec 2014
Assuming you want to do 300 values, I think the most MATLAB-ish way is this vectorized way:
% Define values
values = linspace(7e-5, 3e-4, 300) % 300 elements
% Create x and y vectors from those values.
x = 1 + 2 * values
y = 3 + values
% Plot y vs. x.
plot(x, y, 'b-', 'LineWidth', 2);
% Make the plot fancy.
grid on;
fontSize = 30;
title('y vs. x', 'FontSize', fontSize);
xlabel('x', 'FontSize', fontSize);
ylabel('y', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Give a name to the title bar.
set(gcf, 'Name', 'Demo by ImageAnalyst', 'NumberTitle', 'Off')

Community Treasure Hunt

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

Start Hunting!