如何将matlab拟合函数应用于矩阵的每一行
我需要在矩阵的每个连续行中使用傅里叶函数,避免使用
for
循环。我试图使用一个单元格数组,但不知道如何使用它。
我的节目是
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中的语法有问题,但不知道是什么
没有找到相关结果
已邀请:
1 个回复
诉嘎归亮
的对象。该错误似乎表明CELLFUN无法将这些对象收集到类型为
的数组中作为输出返回。我会尝试通过在最后一行添加
来返回
对象的单元格数组。