2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Фильтр конволюции
Сообщение21.10.2013, 20:29 


10/03/11
24
Здравствуйте! Только только начинаю программировать в матлаб. Есть картинка 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 
Заслуженный участник


27/04/09
28128
После заголовка внешнего for точка с запятой, у остальных её нет. Может, это не то? Ещё смутное ощущение, что end должно быть на один больше (как Matlab определяет конец определения функции?).

 Профиль  
                  
 
 Re: Фильтр конволюции
Сообщение21.10.2013, 22:04 


10/03/11
24
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 


10/03/11
24
Насколько я поняла проблема где-то на выводе. Функция считает, но выводит все равно нули...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group