Error using ==> plot

I have a code
x = rand(64,64,16);
J = 1;
[Faf, Fsf] = FSfarras;
[af, sf] = dualfilt1;T=10;
w = dualtree3D(x, J, Faf, af);
details = Erry{1}{1}{1};
energy = sum(sum(abs(details).^2));
then i plotted the graph using plot command
plot(energy)
but i get errror
Error using ==> plot
Data may not have more than 2 dimensions
please help

1 件のコメント

Roy Veldhuizen
Roy Veldhuizen 2012 年 6 月 1 日
Matlab gives an error, saying that Fsfarras is unknown, which indicates that there might be more code that is used in this problem. As such, I'm not able to recreate the error.
My guess is that you're trying to plot a more than 2 dimensions matrix.
plot only accepts m x 1, or 1 x n matrices.
If you want have a 3 dimensional matrix A= [x,y,z] and you want to plot A(x,1,1) versus A(1,y,1)
specify plot(A(:,1,1),A(1,y,1))
I'm not sure if this answers your question, if not, please post more of the preceding code, such that i can reproduce the error.

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

 採用された回答

Wayne King
Wayne King 2012 年 6 月 1 日

0 投票

Hi Kash, I think you need to form the complex-valued matrices out of the two DWT trees and then sum the squared magnitudes from all the detail subband matrices. See this example.
x = rand(64,64,16);
J = 1;
[Faf, Fsf] = FSfarras;
[af, sf] = dualfilt1;T=10;
w = dualtree3D(x, J, Faf, af);
for k = 1:7
coefs = w{1}{1}{k}+1j*w{1}{2}{k};
energy(k) = sum(abs(coefs(:)).^2);
end
plot(energy,'b^-','markerfacecolor',[0 0 1])
xlabel('Detail Subbands'); ylabel('Energy');

3 件のコメント

kash
kash 2012 年 6 月 1 日
thanks wayne a small doubt the size of coefs is 32x32x8, but size of energy is 1x7,please can u tell about missing subband
Wayne King
Wayne King 2012 年 6 月 1 日
The "missing" subband is the LLL, which is in the approximation, w{2}
kash
kash 2012 年 6 月 1 日
ok can we plot that also

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

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by