Можно ли одной операцией в octave, matlab, python найти вектор с центральными разностями dx. Например, на octave элементарные действия:
t=[2*pi:-2*pi/n:pi/n];
x=cos(t);
y=sin(t);
dx(1)=(x(2)-x(n))/2.;
for i=2:n-1
dx(i)=x(i+1)-x(i-1)/2.;
end
dx(n)=(x(1)-x(n-1))/2.;
интересует сделать короткий просто-читаемый код с матричными операциями, а не поэлементными.
P.S. в C++ с использованием % на две строчки код короче, а в octave операции целочисленного деления не нашел
Здравствуйте, barmale-y, Вы писали:
BY>интересует сделать короткий просто-читаемый код с матричными операциями, а не поэлементными.
BY>P.S. в C++ с использованием % на две строчки код короче, а в octave операции целочисленного деления не нашел
Не совсем понятно что тебя интересует возможность переопределять операторы или готовая библиотека с нужной операцией?
Если первое то питон поддерживает перегрузку операторов в том числе и "%" (operator.__mod__).
Если второе для того же питона можно посмотреть сюда —
http://www.scipy.org/
Здравствуйте, FR, Вы писали:
FR>Не совсем понятно что тебя интересует возможность переопределять операторы или готовая библиотека с нужной операцией?
конечно интересует готовая функция, типа central_diff. Но найти ее пока не удалось. И, вообще, не удалось ничего найти из области построения разностных аналогов для дифференциалов. Правда есть filter и diff, но их приспособить не получается.
FR>Если первое то питон поддерживает перегрузку операторов в том числе и "%" (operator.__mod__).
FR>Если второе для того же питона можно посмотреть сюда — http://www.scipy.org/
большой разницы между между численными методами Python, octave, matlab, scilab, SAGE ... я не обнаружил. Синтаксис языка немного отличается, но как правило одни и те же функции решают конкретную задачу (название, параметры, алгоритм, ... совпадают). В каком языке найду пример, такой и использую
, а затем когда примитивный тестовый скрипт сделаю, пишу на cpp.