?? 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

Answers (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 Comments

here is what displayed:
built-in (C:\Program Files\MATLAB\R2010a\toolbox\matlab\matfun\@single\svd) % single method >>
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

Sign in to comment.

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

1 Comment

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

Sign in to comment.

Categories

Asked:

on 22 Mar 2013

Commented:

on 8 May 2016

Community Treasure Hunt

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

Start Hunting!