I have matrix A =[nx1] & B = [nx1] I want to combine them into C = [ nx2]

9 vues (au cours des 30 derniers jours)
Rashid Hussein
Rashid Hussein le 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

Réponse acceptée

Guillaume
Guillaume le 3 Nov 2017
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.
  5 commentaires
Guillaume
Guillaume le 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
Rashid Hussein le 4 Nov 2017
Modifié(e) : Rashid Hussein le 4 Nov 2017
Thank you and for the function name , then yes I misspelled the name here , anyway I have a clue of what I should do & thank you again sir .

Connectez-vous pour commenter.

Plus de réponses (1)

KL
KL le 3 Nov 2017
Modifié(e) : KL le 3 Nov 2017
C = [A, B]
for plotting A against B, you are right,
plot(A,B)

Catégories

En savoir plus sur Discrete Data Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by