Asked by Rashid Hussein
on 3 Nov 2017

I tried to do plot ( A,B) But it showed me 2 lines in one plot

Because I wanted to make A as x-axis & B as y axis in plot

Answer by Guillaume
on 3 Nov 2017

Accepted Answer

The title of your question has nothing to do with the body of your question.

To answer your title:

C = [A, B];

To answer the body:

plot(A, B)

is indeed the correct syntax to plot B as y values and A as x values. If you get 2 lines in the legend, that would be because B has twice the numbers of rows or columns of A. If A and B are indeed both nx1, you cannot get two lines.

Rashid Hussein
on 4 Nov 2017

I have two matrices

A = [ nx1] & B = [ nx1]

When I plotted them it was fine in plot (A,B )

But when I tried to found the peaks by using

Data = [ A,B ] Pks = foundpeaks (Data) It didn't work Because plot (Data) showed me a figure of two lines *one line is for matrix A & second for B *

This is what I wanted to do

Guillaume
on 4 Nov 2017

Do you realise how difficult you make it to help you? The title of your question had nothing to do with the body of the question, and now it turns out that neither had anything to do with your problem.

So all along, you weren't using plot(A, B) but plot([A, B]) which is not the same thing at all. plot([A, B]) is the same as plot((1:numel(A))', [A, B]) and will indeed plot two lines since you pass a matrix with two columns for the y values. What else would you expect.

But when I tried [...] It didn't work

Utterly. Useless. Statement. It didn't work, because you got an error? If so, what was the error?, because it didn't do what you expected? If so, what did you get and what did you expect?

Pks = foundpeaks (Data)

I am not aware of a function called foundpeaks in matlab. There is a findpeaks function in the signal processing toolbox. If you misspell function then yes, it is not going to work. Now, if that's what you were trying to do and A is indeed your x values, then passing [A, B] to findpeaks is indeed not going to work since as documented, the x value must be given as the second argument

pks = findpeaks(B, A);

Note that findpeaks has nothing to do with your plot. You don't need to plot anything for it to work.

Rashid Hussein
on 4 Nov 2017

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.