Effacer les filtres
Effacer les filtres

plotting matrix verses vector

6 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

Community Treasure Hunt

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

Start Hunting!

Translated by