plotting matrix verses vector

5 vues (au cours des 30 derniers jours)
Alice Faisal
Alice Faisal le 26 Oct 2018
Modifié(e) : madhan ravi le 26 Oct 2018
Good evening
I want to plot a frequency vector (x-axes) with a path loss matrix which is 16*16
I tried this but it gives me an error
figure(1);
plot(p.f,H(1,:),
p.f,H(2,:),
p.f,H(3,:),
p.f,H(4,:),
p.f,H(5,:),
p.f,H(6,:),
p.f,H(7,:),
p.f,H(8,:),
p.f,H(9,:),
p.f,H(10,:),
p.f,H(11,:),
p.f,H(12,:),
p.f,H(13,:),
p.f,H(14,:),
p.f,H(15,:),
p.f,H(16,:));
  3 commentaires
Stephen23
Stephen23 le 26 Oct 2018
You could just plot the whole matrix like this:
plot(p.f,H.')
Alice Faisal
Alice Faisal le 26 Oct 2018
Vectors must be the same length.
It gives me this error now

Connectez-vous pour commenter.

Réponses (2)

Star Strider
Star Strider le 26 Oct 2018
The easiest solution is likely:
plot(p.f, H)
If ‘H’ is a square matrix, and you want to transpose it, use:
plot(p.f, H.')
instead.
  2 commentaires
Alice Faisal
Alice Faisal le 26 Oct 2018
Vectors must be the same length.
It gives me this error now
Star Strider
Star Strider le 26 Oct 2018
I assumed ‘p.f’ is a vector.
If it a matrix the same size as ‘H’, either of my plot calls will work:
p.f = rand(16);
H = rand(16, 16);
figure
plot(p.f, H)
If not, you will have to choose what vector in ‘p.f’ to plot with. The vector must have 16 elements to plot with your (16x16) matrix.

Connectez-vous pour commenter.


madhan ravi
madhan ravi le 26 Oct 2018
Modifié(e) : madhan ravi le 26 Oct 2018
An example its possible using loop:
H=rand(16)
p.f = 1:16
figure(1);
for i = 1:length(H)
plot(p.f(1,:),H(i,:))
hold on
end

Catégories

En savoir plus sur Mathematics 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