??? Undefined function or method 'irisBasisSVD' for input arguments of type 'double'.

can someone please help me resolve this issue? I initially converted my image into svd pattern and used the save function to save it in the '-mat' format. for training, the program used the load function to call the save format, and the program was supposed to get 3 dimensions. The program got stocked at this stage displaying an error message of undefined function or method. here is the part of the code with the error:
load irisBasisSVD;
%get only first 3 dimensions'
nclasses=50;
TS=[irisBasisSVD(1:nclasses*7,1:3) irisBasisSVD(1:nclasses*7,41)]; % this is the part with the error.

Answers (2)

Are you sure that when you load the irisBasisSVD.mat file, that the variable(s) inside the .mat file is actually called irisBasisSVD?
If you enter
whos('-file','irisBasisSVD.mat')
what is returned?

1 Comment

hi Wayne thanks for your reply, i am sorry for responding late. here is the answer to what you asked:
>> whos('-file','irisBasisSVD.mat') Name Size Bytes Class Attributes
T 1x640 5120 double
Your answer to my question means that the only variable in that .mat file is a single row vector, T.
Accordingly, you cannot address irisBasisSVD( ) in the MATLAB workspace like it is a matrix, because MATLAB will think you are trying to call a function irisBasisSVD().
You should substitute the actual variable name, which is T. However, you have another issue, T is a row vector, NOT a matrix as you seem to think by your addressing of both row and column elements of irisBasisSVD

4 Comments

ok i see, so, what do you suggest i do?
I have no idea since you provide no details on how you "converted your image into svd pattern.." The outputs of MATLAB svd() are matrices, so I have no idea how you obtained this row vector.
i am sorry, i was offline, can u give me your email so that i can send you the code i used for the conversion? i will be so so glad if you can go through it for me. this is my project and i have to submit this Saturday.thanks
hello wayne, here is the code i used to convert the image into svd:
clc; clear;
%set base directory of irisBasis directory 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); A=im2double(F);
%perform singular value decomposition
s=mp_mysvd(A);
P=[s', str2num(irisFiles(i).name(1:3))]; T=[T,P]; irisFileName [size(P) size(T)] end end
save ('irisBasisSVD', 'T', '-ascii')

This question is closed.

Asked:

on 24 Mar 2013

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!