Plotting two vectors side by side.

28 Ansichten (letzte 30 Tage)
Robbie McDermott
Robbie McDermott am 29 Nov. 2017
Kommentiert: Star Strider am 29 Nov. 2017
I have two arrays that should plot to give the same (very similar) graphs. My first array, A, is 1 X 601 while my second array, B, is 1 X 1200. I want to re-scale one of these so I can plot them together and look at where they deviate from each other. What is the best way to re-scale them so that the minimums from array A are aligned to the minimums of array B? Or at least the two major minimums are aligned.
Any help would be greatly appreciated, I have been looking for a solution online however this one beats me.
Thanks in advance!
  2 Kommentare
Sammit Jain
Sammit Jain am 29 Nov. 2017
Can you share some information about the variable you're plotting it against and what is the size for that one?
Robbie McDermott
Robbie McDermott am 29 Nov. 2017
Hi Sammit,
I haven't plotted at against anything yet. I just loaded up the data file and used the plot function to look at it.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider
Star Strider am 29 Nov. 2017
Use the linspace function:
A = rand(1, 601); % Create Data
B = rand(1, 1200); % Create Data
Ax = linspace(0, 601, 601); % X-Coordinate Vector For ‘A’
Bx = linspace(0, 601, 1200); % X-Coordinate Vector For ‘B’
figure(1)
subplot(2,1,1)
plot(Ax, A)
grid
subplot(2,1,2)
plot(Bx, B)
grid
Experiment to get the result you want.
  2 Kommentare
Robbie McDermott
Robbie McDermott am 29 Nov. 2017
Aww StarStrider!! Thats, great, I had seen this method posted else where but I couldn't see how it would help! Your explanation is much better! Thank you, that is a great help, my hat off to you!
p.s. cracking name too... star wars or LOTR reference?
Star Strider
Star Strider am 29 Nov. 2017
As always, my pleasure!
I’m an Instrument Rated Private Pilot, and ‘StarStrider’ evolved from that. I’d not thought of the Star Wars or LOTR references before.
If my Answer solves your problem, please Accept it!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

M
M am 29 Nov. 2017
I am not sure if it is really hat you want but here is an idea :
a=rand(10,1);
b=rand(15,1);
a and b are two vectors of different length and amplitude.
Using
plot(a);
hold on;
plot(b./max(b).*max(a))
you can plot a and b on the same graph and the maximum of a and b are of the same amplitude.

Kategorien

Mehr zu Line Plots 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!

Translated by