2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Фильтр конволюции
Сообщение21.10.2013, 20:29 
Здравствуйте! Только только начинаю программировать в матлаб. Есть картинка 204х204 и матрица 3х3 со всеми значениями 0,1111. Есть вот такая функция:
Используется синтаксис Matlab M
function y=convoluzione(a, k)
y=a;
for j=2:202;
    for i=2:202
       temp=0;
        for x= 1:3
            for y=1:3
                 temp = k(x,y) * a(j+x-2, i+y-2) + temp;
            end;
        end;
        y(j,i) = temp;
    end;
end;

На выходе получается матрица состоящая из нулей. Подскажите пожалуйста где ошибка?

 
 
 
 Re: Фильтр конволюции
Сообщение21.10.2013, 21:45 
После заголовка внешнего for точка с запятой, у остальных её нет. Может, это не то? Ещё смутное ощущение, что end должно быть на один больше (как Matlab определяет конец определения функции?).

 
 
 
 Re: Фильтр конволюции
Сообщение21.10.2013, 22:04 
arseniiv в сообщении #778217 писал(а):
После заголовка внешнего for точка с запятой, у остальных её нет. Может, это не то? Ещё смутное ощущение, что end должно быть на один больше (как Matlab определяет конец определения функции?).

Нет точка с запятой это не то, пробовала как с ней так и без нее.
Что касается еще одного end, то если пишу end; то ругается (Error: File: convoluzione.m Line: 14 Column: 4
This statement is not inside any function.
(It follows the END that terminates the definition of the function "convoluzione".))
и не запускается.
Если делаю так
Используется синтаксис Matlab M
function y=convoluzione(a, k)
y=a;
for j=2:202
    for i=2:202
        temp=0;
        for x= 1:3
            for y=1:3
                temp = k(x,y) * a(j+x-2, i+y-2) + temp;
            end
        end
        y(j,i) = temp;
    end
end
end
 

то запускается, но результат тот же...

-- Пн окт 21, 2013 22:06:02 --

может что-то с типом... моя картинка класса double...

 
 
 
 Re: Фильтр конволюции
Сообщение21.10.2013, 23:18 
Насколько я поняла проблема где-то на выводе. Функция считает, но выводит все равно нули...

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group