フィルターのクリア

plotting matrix verses vector

6 ビュー (過去 30 日間)
Alice Faisal
Alice Faisal 2018 年 10 月 26 日
編集済み: madhan ravi 2018 年 10 月 26 日
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 件のコメント
Stephen23
Stephen23 2018 年 10 月 26 日
You could just plot the whole matrix like this:
plot(p.f,H.')
Alice Faisal
Alice Faisal 2018 年 10 月 26 日
Vectors must be the same length.
It gives me this error now

サインインしてコメントする。

回答 (2 件)

Star Strider
Star Strider 2018 年 10 月 26 日
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 件のコメント
Alice Faisal
Alice Faisal 2018 年 10 月 26 日
Vectors must be the same length.
It gives me this error now
Star Strider
Star Strider 2018 年 10 月 26 日
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.

サインインしてコメントする。


madhan ravi
madhan ravi 2018 年 10 月 26 日
編集済み: madhan ravi 2018 年 10 月 26 日
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

カテゴリ

Help Center および File ExchangeAnnotations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by