Plot3 with different length of vectors

4 ビュー (過去 30 日間)
fadams18
fadams18 2019 年 1 月 9 日
コメント済み: fadams18 2019 年 1 月 9 日
I have 3 parameter. Error, SNR, Weights
1. Error is a 3x9 data
2. SNR = [15,30,50]
3. Weights = 0.1:0.1:0.9
So basically, i want to see the evolution of my error with respect to the weight and SNR
I have done this with surf. but I want to try plot3, unfortunaley it doesnt work when length of vectors are unequal. is there a work around this?

採用された回答

Adam Danz
Adam Danz 2019 年 1 月 9 日
編集済み: Adam Danz 2019 年 1 月 9 日
You need to specify the x (SNR) and y (Weight) coordinate for each z-value (error). Since z is a matrix, x and y need to be matricies of the same size.
SNR = repmat([15 30 50]', 1, size(error,2)); %note the transpose
Weight = repmat(0.1 : 0.1 : 0.9, size(error,1),1);
plot3(SNR, Weight, error)
  3 件のコメント
Adam Danz
Adam Danz 2019 年 1 月 9 日
I'm not sure what you're expecting. plot3() draws a line for each column of data in the inputs.
Are you lookng for a surface plot?
surf(SNR, Weight, error)
Or are you looking for a continuous line?
plot3(SNR(:), Weight(:), error(:))
fadams18
fadams18 2019 年 1 月 9 日
You right it looks good with Surf. Thanks mate!.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by