2014-02-01 4 views
0

Я занимаюсь работой с маталабом, и я застрял на этой функции и не могу найти, что не так.matlab output from function

Это моя функция

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" (и m aybe others), не назначенный во время вызова «какой-то путь/Ek.m> Ek».

+0

Может быть, что вы назвали вашу функцию с 'M' или' n' быть меньше, чем 15? Было бы чисто инициализировать e до ваших 'for'-циклов. – fuesika

+0

О да, они имели значение 5 до того, как была вызвана функция! – user3250947

ответ

0

Возможно, вам придется проверить значения параметров m и n перед циклом. Они могут быть не менее 15.

1

Вы должны быть предварительно выделяя е, например

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