matlab从函数输出

时间:2014-02-01 10:49:09

标签: matlab function

我正在做一些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”。

2 个答案:

答案 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)

您可能必须在循环之前检查参数mn的值。他们可能不到15岁。