我需要使用矩阵的每个连续行的傅立叶函数来避免使用for
循环。我尝试使用单元格数组,但不知道如何合适地使用它。 我的计划是如何将matlab拟合函数应用于矩阵的每一行
I=imread('test.tif','tif');
I=double(I);
nat=num2cell(I,1);
wy_I=cellfun(@size,nat, 'UniformOutput', false);
we_I=cellfun(@(x)1:x(1), wy_I, 'UniformOutput', false);
wyn=cellfun(@(x,y)fit(x',y,'fourier1'), we_I, nat);
它给??? Error using ==> cellfun cfit type is not currently implemented.
大概单元阵列是不是这个问题的解决方案。 如何解决这个问题? 感谢
更新
wyn=cellfun(@(x,y)fit(x',y,'fourier1'), we_I, nat, 'UniformOutput',false);
作品没有错误,但WYN只有空单元格
我测试了一行
j=cell2mat(we_I(1,1))
k=cell2mat(nat(1,1))
z=fit(j',k,'fourier1')
和z
包含模型
我良好的价值观在cellfun中使用语法做错了什么,但不知道什么
对一个图像的每一行拟合一个函数是一个非常好的for循环。只要调用'cellfun',你就会失去可读性,但不会有明显的性能提升。 – Jonas 2011-04-06 20:37:27