why does size() not work in function but does in workspace
Show older comments
I have a the same 4x2 cell array (fileList), in workspace, size() gives me the results I expect, but in a function results are way different.
Workspace
size(fileList), ans=4 2
size(fileList{2,1},1), ans = 9
function
size(fileList), ans=1 1
size(fileList{2,1},1), ans = Index exceeds matrix dimensions.
Other functions that don't behave as expected when not in workspace:
fileList{n,m}
fileList(n,:)
2 Comments
Guillaume
on 1 Dec 2015
Can we see the declaration of the function (the line that says function something = funname(something)) and the way you call the function?
Accepted Answer
More Answers (1)
valdal
on 1 Dec 2015
Hi,
On my computer, I don't have any problem :
fileList = cell(4,2)
fileList{2,1} = rand(9,1)
size(fileList)
size(fileList{2,1},1)
f(fileList)
with f.m :
function f(a)
size(a)
size(a{2,1},1)
end
In both cases I got :
ans =
4 2
ans =
9
Are you sure that you give the whole cell array to your function ? It's look like in the function fileList is only one element.
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!