?? Undefined function or method 'svd' for input arguments of type 'double' and attributes 'full 3d real'.

can someone assist me? i am trying to use the matlabs svd function but it returned an error
"?? Undefined function or method 'svd' for input arguments of type 'double' and attributes 'full 3d real'.".
here is part of the code i was working on:
F=imread(irisFileName); G=im2double(F);
%perform singular value decomposition
xpattern=svd(G);
P=[xpattern' str2num(irisFiles(i).name(1:3))];
T=[T;P];
irisFileName
[size(P) size(T)]
end
end
thanks

Risposte (2)

svd() only works on a 2-D matrix, although I'm surprised by your error message.
I would have expected:
"Error using svd Input must be 2-D."
You are using the MathWorks' svd() function, correct?
If you enter,
>>which svd
you get back some path like:
...matlab\matfun\@single\svd

6 Commenti

here is what displayed:
built-in (C:\Program Files\MATLAB\R2010a\toolbox\matlab\matfun\@single\svd) % single method >>
so is your input 3-D? what is the size of G?
The above does not tell me the size of G. The above only tells me that you have converted F to a double. What does
size(G)
return?
i am very sorry, i don't really know the size of G because i actually got the code online and trying to use it for my project. let me copy the whole code here so that u can see it.
clc;
clear;
%set base directory of irisBasis directory % irisDir = 'D:\MasterCS\CS553\IrisDatabase\IrisBasisAll40'; irisDir = 'C:\Users\livingstone\Desktop\iris'; clc; T=[]; irisFiles = dir(irisDir); for i=1:size(irisFiles,1) if not(strcmp(irisFiles(i).name,'.')|strcmp(irisFiles(i).name,'..')) irisFileName = [irisDir, '\', irisFiles(i).name];
F=imread(irisFileName); G=im2double(F);
%perform singular value decomposition xpattern=svd(G);
P=[xpattern' str2num(irisFiles(i).name(1:3))]; T=[T;P]; irisFileName [size(P) size(T)] end end
save irisBasisSVD T –ASCII

Accedi per commentare.

im getting error "Error using svd Input must be 2-D." could u hlp me?

1 Commento

You are probably trying to do svd on an RGB image. You probably need to use rgb2gray() to convert it to grayscale.

Accedi per commentare.

Categorie

Richiesto:

il 22 Mar 2013

Community Treasure Hunt

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

Start Hunting!

Translated by