我正在做一些matlab工作,我坚持这个功能,但找不到什么问题。
这是我的功能
function [e] = Ek(fk,m,n)
for i=8:m-7
for j=8:n-7
e(i,j)=some code here;
end
end
我使用此命令从其他文件调用该函数
bla= Ek(array, m, n);
我得到的错误是
Ek出错(第2行) 对于i = 8:m-7
输出参数“e”(可能还有其他)在调用期间未分配 “某些路径/ Ek.m> Ek”。
答案 0 :(得分:1)
您应该预先分配e,例如
function [e] = Ek(fk,m,n)
e=zeros(m,n); %pre-allocate
for i=8:m-7
for j=8:n-7
e(i,j)=some code here;
end
end
答案 1 :(得分:0)
您可能必须在循环之前检查参数m
和n
的值。他们可能不到15岁。