Форум программистов, компьютерный форум, киберфорум
Scilab
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 04.11.2014
Сообщений: 4
1

Decimate в scilab

04.11.2014, 18:09. Просмотров 744. Ответов 0
Метки нет (Все метки)


Вопрос касается перевода сркипта из matlab в scilab.

Исходный скрипт (его часть) :

Matlab M
1
2
3
4
5
6
ninp=fid1(1,1);
hx=fid2(1:ninp,1)
....................................
M=1;
N=100
hx0=decimate(hx,M,N,'fir');
Упомянул объявление перменных для точности. Интересует функция decimate, аналогов которой в scilab не нашел.
Написал следующую функцию :

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
function y = decimate(x,r,n)
    y=[] //result of decimation
    //x - input vector
    //n - filter Order
    //r - factor of decimate
    N=length(x); 
    M=N/r
    w=window('hm',n);
    W=0;
    for i = 1:n
       W=W+w(i); 
    end
    y=y./W
    y=convol(x,w)
    y=y(1:r:N);
endfunction 
}
И использую ее в коде:
Matlab M
1
2
3
4
5
6
{
............
exec('decimate.sce');
................
hx0 = decimate(hx,M,N);
}

Однако код большой, проверить частично не могу - нет матлаба. Когда завершил переработку всего кода (это не единственный спорный момент) в результате получил чушь.
Вопрос- может кто оценить корректность замены decimate() матлабовской?

Добавлено через 2 часа 12 минут
Два комментария:
1) Модератор отредактировал мой пост, оставив код scilab в формате "Код Matlab M". Я не против, но надо таки иметь ввиду, что что это таки код scilab ))
2) Я нашел и поставил себе себе матлаб (что не отменяет задачи, так как матлаб я могу поставить только на одну частную машинку). Проверил - работает действительно по другому и decimate(), по ходу, я преобразовал не правильно. По сему прошу не рассматривать как решение проблемы тех, кто с такой же столкнулся. Но в чем ошибка узнать былоб интересно - если кто раньше меня сообразит, буду благодарен.

Добавлено через 1 час 50 минут
Извините за глупость и невнимательность !!
Ошибка в коде очевидна:

код scilab:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function y = decimate(x,r,n)
    y=[] //result of decimation
    //x - input vector
    //n - filter Order
    //r - factor of decimate
    N=length(x); 
    M=N/r
    w=window('hm',n);
    W=0;
    for i = 1:n
       W=W+w(i); 
    end
    w=w./W
    y=convol(x,w)
    y=y(1:r:N);
endfunction
Думаю для полного счастья добавить в конец
{
y=y';
}
Но это мелочи...
В итоге вывод самой decimate() у меня с матлабовским в общих чертах совпадает. Но результат всей программы нет. Так что буду думать, а пост оставлю - на случай если кому тоже самое понадобится.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2014, 18:09
Ответы с готовыми решениями:

Scilab и Fortran
В теме https://www.cyberforum.ru/scilab/thread1612707.html я уже отписывался о тормознутости Scilab...

Фракталы на Scilab
Кто нибудь строил простенькие фракталы с помощю Scilab-а. Нужен любой работающий пример.

Latex в scilab
не знаю, как написать код, чтобы эти 2 уравнения выводились с помощью Latex

Уравнения в SCILAB
Здравствуйте! Помогите пожалуйста решить уравнения в scilab. Задание №1. Решить квадратное...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2014, 18:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Неправильное умножение scilab
Доброго времени суток. Мне тут задали сделать курсовую в SciLab`e, но не буду углубляться в...

Преобразование Matlab в Scilab
Добрый день! Нужно выполнить преобразование в scilab. У меня встроен преобразователь, но...

Реализация QL-алгоритма в scilab
Пытаюсь реализовать QL-алгоритм в scilab Использовал текст программы на языке C из статьи...

Решение СЛАУ в Scilab
Добрый день! Нужно написать 3 метода решения СЛАУ в среде scilab(метод прогонки, метод простых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.