реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> scilab vs python, что выбрать?
shf_05
сообщение Dec 25 2014, 09:51
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



добрый день, коллеги.

ранее долгое время применял матлаб для создания m файлов, простенького gui, работы с com портами, файлами.

теперь матлаб для меня закрыт, встал вопрос использовать "бесплатное" ПО, выбираю между scilab и python.
задачи по обработке сигналов, алгоритмы в основном свои, так что интересует в первую очередь удобство визуализации результатов, возможность создания всевозможных фильтров, создание gui b работа с железяками.
посмотрел примеры и того и другого вроде примерно на одном уровне, но может быть это только на первый взгляд?

подскажите, пожалуйста у которого из них больше удобств, функциональнее библиотеки, в общем надо определиться, на что переходить.

спасибо.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 25 2014, 10:05
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(shf_05 @ Dec 25 2014, 12:51) *
подскажите, пожалуйста у которого из них больше удобств, функциональнее библиотеки, в общем надо определиться, на что переходить.


Если вы к MATLAB'у привыкли, то надо однозначно выбирать scilab. Тут, по крайней мере, хоть какая-то аналогия будет, а в некоторых местах даже прямая подстановка. Тем более что в пакете scilab есть практически все, что есть в MATLAB.

А чего вдруг MATLAB от вас закрылся? Или это вы от него закрылись в приступе патриотизма? sm.gif
Go to the top of the page
 
+Quote Post
syoma
сообщение Dec 25 2014, 11:02
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
А чего вдруг MATLAB от вас закрылся? Или это вы от него закрылись в приступе патриотизма?

Ну лицензия на Матлаб не такая уж дешевая.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 25 2014, 13:22
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(syoma @ Dec 25 2014, 14:02) *
Ну лицензия на Матлаб не такая уж дешевая.


А зачем же ее покупать-то? sm.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 25 2014, 14:13
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Xenia @ Dec 25 2014, 21:22) *
А зачем же ее покупать-то? sm.gif

адски плюсую, нужно санировать авторов софта по этой части. А по сабжу я бы выбрал оба, Scilab как математика, а питон всегда пригодиться.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 25 2014, 14:13
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Еще есть Octave. Пока выбирал, чем пользоваться, что-то скачивал, пробовал. Но лучше Matlab быть ничего не может (если не покупать).
Go to the top of the page
 
+Quote Post
amaora
сообщение Dec 25 2014, 16:34
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Цитата(ViKo @ Dec 25 2014, 17:13) *
Еще есть Octave. Пока выбирал, чем пользоваться, что-то скачивал, пробовал. Но лучше Matlab быть ничего не может (если не покупать).


У меня впечатление от octave даже лучше чем от scilab. Да и с matlab он пытается быть совместим, в отличии от scilab. Но я пользуюсь в основном самим языком для работы с матрицами, а не библиотеками для прикладных задач.

Сообщение отредактировал amaora - Dec 25 2014, 16:35
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 25 2014, 18:17
Сообщение #8


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Питон объединяет великое множество и другого софта, в т.ч.
у scilab имеется питоно-морда
Однозначно питон.
-----------------------------------
Go to the top of the page
 
+Quote Post
shf_05
сообщение Dec 26 2014, 05:35
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



спасибо всем за ответы, буду пробовать питон- он вещь более универсальная.
матлаб закрыли по причине политики использования лицензированного ПО, матлаб использует не много народа, поэтому лицензии не видать.

Цитата(ViKo @ Dec 25 2014, 19:13) *
Но лучше Matlab быть ничего не может

с этим полностью согласен
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 26 2014, 06:40
Сообщение #10


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(_Pasha @ Dec 25 2014, 21:17) *
Питон объединяет великое множество и другого софта


Так это любой язык программирования ровно так же "объединяет множество софта", на нем написанного.

Однако есть огромная разница между тем, чтобы писать на языке, используя имеющиеся для него библиотеки, и работой в таких пакетах, как MATLAB, MATCAD, SCILAB и т.п.

Например, существуют богатые по возможностям библиотеки для C и/или FORTRAN'а: MKL (Intel Math Kernel Library), IPP (Intel Integrated Performance Primitives), ATLAS (Automatically Tuned Linear Algebra Software), NAG (Numerical Algorithms Group), IMSL (International Mathematics and Statistics Library) и т.п., однако приходится попотеть, чтобы с их помощью хотя бы вектор на матрицу умножить - слишком много в тех функциях параметров, а том числе и малопонятных. sm.gif Тогда как в матпакетах такого рода опрерации делаются элементарно - записью, предельно близкой к алгебраической.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 26 2014, 07:56
Сообщение #11


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Xenia @ Dec 26 2014, 09:40) *
Так это любой язык программирования ровно так же "объединяет множество софта", на нем написанного.

Однако есть огромная разница между тем, чтобы писать на языке, используя имеющиеся для него библиотеки, и работой в таких пакетах, как MATLAB, MATCAD, SCILAB и т.п.

Например, существуют богатые по возможностям библиотеки для C и/или FORTRAN'а: MKL (Intel Math Kernel Library), IPP (Intel Integrated Performance Primitives), ATLAS (Automatically Tuned Linear Algebra Software), NAG (Numerical Algorithms Group), IMSL (International Mathematics and Statistics Library) и т.п., однако приходится попотеть, чтобы с их помощью хотя бы вектор на матрицу умножить - слишком много в тех функциях параметров, а том числе и малопонятных. sm.gif Тогда как в матпакетах такого рода опрерации делаются элементарно - записью, предельно близкой к алгебраической.

Во-первых, numPy не что иное как обертки над MKL, ATLAS, LAPACK, BLAS
nagPy ... NAG
PyIMSL ... IMSL

во-вторых, питон это несколько бОльшая сущность в сравнении с "вездесущим" вижуал бейсик на венде.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 26 2014, 08:18
Сообщение #12


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(_Pasha @ Dec 26 2014, 10:56) *
Во-первых, numPy не что иное как обертки над MKL, ATLAS, LAPACK, BLAS
nagPy ... NAG
PyIMSL ... IMSL


А бывают ли такие обертки для C++? Чтобы Питон не учить на C++ остаться, но так хитро определить классы (и операторы внутри них) матриц и векторов, чтобы алгебраические операции над ними можно было проиpводить в записи, приближенной к математической? Т.е. обычными 4-мя арифметическими действиями.

Вот только как быть с транспонированием, не знаю, т.к. апостроф С++ переопределить не даст.

P.S. Вопрос не только к Pasha, но и всякому, кто видел что-то подобное в уже реализованном виде. А лучше - еще и пользовался этим.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 26 2014, 10:27
Сообщение #13


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Xenia @ Dec 26 2014, 11:18) *
А бывают ли такие обертки для C++? Чтобы Питон не учить на C++ остаться, но так хитро определить классы (и операторы внутри них) матриц и векторов, чтобы алгебраические операции над ними можно было проиpводить в записи, приближенной к математической? Т.е. обычными 4-мя арифметическими действиями.

Вот только как быть с транспонированием, не знаю, т.к. апостроф С++ переопределить не даст.


Как бы обманывать язык смысла нету особого...
Сразу приходят на ум MathCAD и язык APL...
Но маткад - это ж еще и символьные операции.

Короче
http://twt.mpei.ac.ru/ochkov/MAS_KP/mas_kp.html
Цитата
В 2003 г. фирма Mathsoft запустила в опытную эксплуатацию так называемый Mathcad Application Server (MAS), позволяющий запускать на нем Mathcad-документы и обращаться к ним дистанционно через Интернет. Автор данной статьи тестировал бета-версию MAS и установил ее локальную копию по адресу www.vpu.ru/mas. Там же можно найти ссылки на документы, касающиеся технологии использования MAS и подготовки Mathcad-документов к публикации в Интернет[5].

http://twtmas.mpei.ac.ru/mas/Worksheets/Pendulum_DAE.mcd например

Облачный маткад...
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Dec 26 2014, 11:05
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(des00 @ Dec 25 2014, 18:13) *
нужно санировать авторов софта по этой части
"В связи с санкциями пиратский софт считать трофейным".
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 26 2014, 12:52
Сообщение #15


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(_Pasha @ Dec 26 2014, 13:27) *
Как бы обманывать язык смысла нету особого...


Обмана здесь нет, т.к. в языке C++ определение операторов (в том числе и арифметических) в отношении "самодельных" классов - типичная практика, т.к. по умолчанию объект наделяется только оператором присваивания, который реализуется копированием области данных между объектами одного и того же типа.

В тоже время понятно, что матрицы и векторы по своей сути - объекты классов, поскольку кроме адреса массива нужно помнить число столбцов и строк. Ну, и аллокацию и деаллокацию памяти тоже удобно делать неявно в конструкторе и деструкторе, соответственно. Таким образом, матрицы и векторы все равно приобрели бы форму объектов классов, даже если бы нечего большего мы от них не хотели.

Но поскольку это объекты, то почему бы не определить между ними арифметические операции? Тем более что само понятие "межклассового" оператора именно для этого и было введено.

Проблему здесь вижу только в том, что в математике алгебраические операции - тернарные, т.е. в операции участвуют три объекта: между двумя из них производится операция, а в третий помещается результат. Тогда как в C++ операторы бывают лишь унарными и бинарными, а тернарных не бывает.

Но в принципе исхитриться здесь можно, причем самым простым и очевидным вариантом является создание промежуточного объекта, не имеющего явного имени. А для операции транспонирования вместо запрещенного апострофа можно выбрать какой-то унарный оператор - тильду или восклицательный знак.

Кстати, я сама это уже делала, а спрашиваю лишь потому, что мне интересно, решал ли кто-то подобную задачу, а если решал, то как именно. Тогда как меня коробит тот подход, когда при малейшей трудности в реализации задачи программист с готовностью иммигрирует на другой язык только потому, что эта фича там уже есть в готовом виде.
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 22:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01482 секунд с 7
ELECTRONIX ©2004-2016