<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF109%3A%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>LXF109:Сравнение - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF109%3A%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;action=history"/>
		<updated>2026-05-13T06:59:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=9328&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=9328&amp;oldid=prev"/>
				<updated>2009-12-04T10:50:33Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;a href=&quot;http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;amp;diff=9328&amp;amp;oldid=9327&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=9327&amp;oldid=prev</id>
		<title>Crazy Rebel: Новая: : Каждый месяц мы сравниваем тысячи программ – а вы можете отдыхать!  ==Сравнение Числодробилки==  : Ког...</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF109:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=9327&amp;oldid=prev"/>
				<updated>2009-12-04T09:44:54Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: : Каждый месяц мы сравниваем тысячи программ – а вы можете отдыхать!  ==Сравнение Числодробилки==  : Ког...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: Каждый месяц мы сравниваем тысячи программ – а вы можете отдыхать!&lt;br /&gt;
&lt;br /&gt;
==Сравнение Числодробилки==&lt;br /&gt;
&lt;br /&gt;
: Когда ни бумага с карандашом, ни калькулятор не справляются с расчетами, '''Уилл Трибби''' обращается к одной из математических программ.&lt;br /&gt;
&lt;br /&gt;
В старые времена (1980-е) студентам ВУЗов разрешалось производить вычисления, расчеты линейной алгебры и т.п. с помощью калькуляторов – но не для всего, поскольку в основном полагались достаточными бумага и карандаш, а калькуляторы допускались лишь в особо сложных случаях. Аспиранты переходили уже к написанию собственных программ для численных расчетов, просиживая долгие часы перед терминалом за отладкой кода. Но был способ и получше.&lt;br /&gt;
&lt;br /&gt;
То, что начиналось как библиотеки функций для решения численных задач, развилось в мощные, интерактивные и программируемые инструменты, «перемалывающие» сложные математические и инженерные проблемы за несколько минут. Эти платформы численных расчетов сегодня являются рабочими лошадками ученых и инженеров. Они используются практически в любой области современной науки и техники для управления данными, анализа и визуализации.&lt;br /&gt;
&lt;br /&gt;
===Золотой стандарт===&lt;br /&gt;
&lt;br /&gt;
Среди рассматриваемых здесь платформ, ''Matlab'' является золотым стандартом, с которым сравниваются все остальные инструменты. Это сравнение кажется неизбежным для любой платформы численных расчетов, свободной или нет. Однако, по сравнению с ними, ''Matlab'' имеет огромный недостаток – дороговизну. Выбор в пользу ''Matlab'' зависит от того, много ли дополнений вам нужно и готовы ли вы платить за них. Тем из нас, кто ограничен бюджетом, без мощной и свободной замены не обойтись.&lt;br /&gt;
&lt;br /&gt;
При поиске альтернатив ''Matlab'', две были уже наготове: ''Scilab'' и ''Octave''. Обнаружение еще двух потребовало просеивания web-сайтов существующих проектов. Программы с последним обновлением старше года не рассматривались. В обзор попали наиболее обещающие и интересные решения, чьи сайты проявляют активность.&lt;br /&gt;
&lt;br /&gt;
===Про наш тест...===&lt;br /&gt;
&lt;br /&gt;
У платформ численных расчетов, включенных в это Сравнение, много общих функций. Значение имеет и производительность&lt;br /&gt;
алгоритмов, что важно при работе с большими объемами данных.&lt;br /&gt;
&lt;br /&gt;
Оценка выводилась по следующим факторам: простота установки, интерфейс пользователя, документация, поддержка сообщества и доступные инструменты. Производительность алгоритмов проверялась путем вычисления разложения по особым значениям (SVD) и по 100-кратному вычислению быстрого преобразования Фурье (FFT, БПФ) для матрицы действительных чисел размера 500х500, и вычисления среднего и стандартного отклонения&lt;br /&gt;
этих ста попыток.&lt;br /&gt;
&lt;br /&gt;
Тестирование проводилось на ноутбуке HP Pavilion dv5040us с процессором AMD 2,2 ГГц и ОЗУ 2ГБ, работающем под управлением Kubuntu 8.04. Все программы, кроме ''Matlab'' и ''Euler Math Toolbox'', перед тестированием компилировались на ноутбуке.&lt;br /&gt;
&lt;br /&gt;
===''Matlab''===&lt;br /&gt;
{{Сравнение&lt;br /&gt;
|кратко=&amp;lt;center&amp;gt;'''Matlab'''&amp;lt;/center&amp;gt;&lt;br /&gt;
|версия=R2008a&lt;br /&gt;
|изображение=LXF109_17_1.jpg&lt;br /&gt;
|подпись=Желанная IDE ''Matlab'': отметим редактор рабочего пространства слева и историю команд под ним.&lt;br /&gt;
|сайт=http://www.mathworks.com&lt;br /&gt;
|лицензия=$1900 за первый год; $342 за последующие&lt;br /&gt;
|итог=''Matlab'' великолепен, но может довести вас до нищенской сумы. Мы снизили ему баллы из-за дороговизны.&lt;br /&gt;
|рейтинг=9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
: Когда вы заслужиаете (и можете позволить) самого лучшего.&lt;br /&gt;
&lt;br /&gt;
''Matlab'' в завидном положении: все прочие лишь догоняют его, поскольку это основная вычислительная платформа, используемая большинством ученых мира и технических сообществ. ''Matlab'' включен в технические и математические курсы многих университетов, разносящих его репутацию также и за свои пределы. Немного поработав в среде ''Matlab'', вы понимаете, почему ''Matlab'' устанавливает планку, до&lt;br /&gt;
которой другим прыгать и прыгать.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, ''Matlab'' предоставляет современную IDE для выполнения вашей работы. В ней есть окно команд, окно истории команд и &lt;br /&gt;
менеджер файлов. Команды помечаются временем и датой, и вы можете выбрать команду или группу команд в окне истории, чтобы &lt;br /&gt;
выполнить их вновь. Вероятно, тем, кто собирается создавать лишь мелкие приложения в несколько файлов, IDE не так уж и важна. В &lt;br /&gt;
противном случае –это большой плюс. ''Matlab'' часто используют для создания больших и &lt;br /&gt;
сложных приложений, требующих управления кодом. Ни одна из рассматриваемых в обзоре &lt;br /&gt;
платформ и близко не подошла к IDE вроде той, что есть в ''Matlab''.&lt;br /&gt;
&lt;br /&gt;
Матричный язык ''Matlab'' легок в изучении, и, освоившись с векторами и матрицами, вы сочтете его очень естественным. Несложные&lt;br /&gt;
матричные операции, требующие нескольких операторов, или запутанные перемножения, подразумевающие целую программу, могут&lt;br /&gt;
выполняться совместно в одной строке кода. Базовая версия ''Matlab'' поставляется с умопомрачительным набором математических &lt;br /&gt;
функций, с которым остальные продукты стараются идти в ногу. Не так давно в ''Matlab'' было &lt;br /&gt;
добавлено объектно-ориентированное программирование, и это также возвышает его над большинством других платформ обзора.&lt;br /&gt;
Данный функционал может облегчить создание больших и сложных приложений для тех, кто предпочитает объектно-ориентированный&lt;br /&gt;
подход. ''Matlab'' также может сразу оснастить ваши приложения графическим интерфейсом, что делает разработку более последовательной, чем при добавлении его позднее.&lt;br /&gt;
&lt;br /&gt;
====Да он еще и быстр====&lt;br /&gt;
&lt;br /&gt;
Производительность – та область, где ''Matlab'' трудно удержать лидерство. В SVD-тесте – разложении матриц, важном для многих статистических и численных алгоритмов – производительность ''Matlab'' лишь на 20% больше, чем в ''Scilab'' или ''Octave''. Удивительно то, что алгоритм '''Numpy''', используемый в ''Sage'', был в среднем быстрее ''Matlab'' на 250%. Он не включен в настоящее сравнение, но такое разительное отличие показывает, что в библиотеке '''Numpy''' для ''Python'' производительности уделено больше внимания. Зато ''Matlab'' победил в быстром преобразовании Фурье.&lt;br /&gt;
&lt;br /&gt;
Следует отметить, что измерение производительности зависит от целого ряда факторов и для достоверности требует многокраных повторений. Наши измерения проведены лишь в целях относительного сравнения. Даже отличие в долях секунды может стать&lt;br /&gt;
убийственным, когда объем вычислений становится больше или требуются тысячи повторений. Однако для небольших приложений&lt;br /&gt;
или задач эти отличия производительности могут никогда и не возникнуть.&lt;br /&gt;
&lt;br /&gt;
Еще один плюс ''Matlab'' – множество пакетов расширений (Toolbox), доступных в виде дополнительных надстроек для базового продукта ''Matlab''. Они покрывают специфические области применения, вроде обработки изображений, вычислительной биологии и экономического моделирования и анализа, и сберегают кучу времени, когда нужен немедленный результат без изобретения велосипеда.&lt;br /&gt;
MathWorks, изготовитель ''Matlab'', поддерживает в сети сообщество пользователей, где они обмениваются кодом и помогают друг другу.&lt;br /&gt;
Хотя некоторые другие платформы предоставляют пакеты расширений в стиле ''Matlab'', доступные варианты в ''Matlab'' отлажены лучше,&lt;br /&gt;
чем имеющиеся для свободных платформ.&lt;br /&gt;
&lt;br /&gt;
====Дорогое удовольствие====&lt;br /&gt;
&lt;br /&gt;
''Matlab'' – потрясающий продукт, и после его тестирования для обзора мы очень расстроились, обнаружив, что он поставляется по заоблачной цене и с ежегодным взносом после первых 12 месяцев. Использование ''Matlab'' вне работы или университета, вероятно, чересчур дорого для большинства людей. Многие малые компании сочтут стоимость ''Matlab'', при наличии свободных альтернатив, неоправданной – конечно, если только они не разрабатывают дополнения или сервисы для ''Matlab''. ''Matlab'' – очевидный выбор для платформы&lt;br /&gt;
численных расчетов, если вы можете его себе позволить и вам не нужна открытая лицензия. Иначе уж лучше обойтись чем-то свободным.&lt;br /&gt;
&lt;br /&gt;
====Книги====&lt;br /&gt;
&lt;br /&gt;
Для любителей пачек бумаги, испещренных черными закорючками, налицо огромный выбор. Если, зайдя в своей любимый магазин в сети, вы поищете книги, описывающие ''Matlab'', вас ими просто завалят. Некоторые учебники по ''Matlab'' заодно описывают ''Scilab'' и ''Octave'', но есть книги и исключительно о них. Часть книг просто дублирует документацию или учебники из сети, и иногда это удобно – особенно если&lt;br /&gt;
вы хотите почитать в местах, где ваш ноутбук может быть в опасности. Единственная описываемая платформа, для которой мы&lt;br /&gt;
не нашли книг – ''Euler Math Toolbox''.&lt;br /&gt;
&lt;br /&gt;
===''Octave''===&lt;br /&gt;
{{Сравнение&lt;br /&gt;
|кратко=&amp;lt;center&amp;gt;'''Octave'''&amp;lt;/center&amp;gt;&lt;br /&gt;
|версия=3.0.1&lt;br /&gt;
|изображение=LXF109_18_1.jpg&lt;br /&gt;
|подпись=В ''Octave'' приходится изощряться самим – здесь нет стандартной IDE.&lt;br /&gt;
|сайт=http://www.octave.org&lt;br /&gt;
|лицензия=GPL&lt;br /&gt;
|итог=Octave предоставляет вам платформу с монолитным ядром, а дополнения вроде IDE требуют склонности к проектам «сделай сам».&lt;br /&gt;
|рейтинг=7&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
: Естественно, есть GNU-альтернатива…&lt;br /&gt;
&lt;br /&gt;
Начавшись как побочная идея работы инженеров-химиков в 1988 году, ''Octave'' вырос в сильную и недорогую&lt;br /&gt;
копию ''Matlab'', одну из наиболее известных свободных альтернатив ''Matlab'' с открытым&lt;br /&gt;
кодом, и ныне старается добиться возможно лучшей совместимости с ''Matlab''. Сайт ''Octave''&lt;br /&gt;
содержит подсказки по совместному использованию файлов пользователями ''Octave'' и ''Matlab''.&lt;br /&gt;
&lt;br /&gt;
На нашем тестовом ноутбуке Octave собрался и установился без сучка, без задоринки. Он запускается в окне оболочки, создающем ощущение некоторой пустоты. Однако, покопавшись, мы обнаружили на http://sourceforge.net проект ''Octclipse''. Описание на сайте скудное, но, судя&lt;br /&gt;
по названию и краткой справке, он основан на открытой IDE ''Eclipse. QtOctave'' – другая оболочка для ''Octave''. Таким образом, вы можете заполучить IDE для вашего ''Octave'', но это потребует дополнительных поисков и сборки. Однако, если одна IDE вам не понравилась, всегда можно попробовать другую.&lt;br /&gt;
&lt;br /&gt;
Между базовым языком матриц ''Octave'' и языком ''Matlab'' имеются некоторые отличия. Для многих файлов программ совместимость – не&lt;br /&gt;
проблема, но может стать таковой с добавлением объектно-ориентированного программирования в ''Matlab'', если большинство пользователей&lt;br /&gt;
возжелают эту функцию. В Wiki ''Octave'' имеется список функций последней версии ''Matlab'' (R2008a), отсутствующих в ''Octave''; часть перечня, касающаяся объектов, содержит 50 пунктов. Если многие пользователи обзаведутся объектно-ориентированным ''Matlab'' – прощай,&lt;br /&gt;
совместимость.&lt;br /&gt;
&lt;br /&gt;
Теперь о хорошем: сайт проекта приводит список уникальных функций ''Octave''. Одна из них – определение функций прямо в строке&lt;br /&gt;
[inline]. При работе в командном окне данная функция облегчает паковку повторяющихся шагов более выгодным способом, чем написание и сохранение файла программы. В ''Matlab'' этого сделать нельзя. Другая приятная функция – использование одиночных или двойных&lt;br /&gt;
кавычек для определения строк, как делается в ''Python''. Еще одно действие, выполнимое в ''Octave'', но не в ''Matlab'' – использование символа '''#''' для комментариев. То есть, размещение '''#! ./usr/bin/Octave -q''' в начале файла программы приведет к тому, что оболочка&lt;br /&gt;
выберет ''Octave'' для ее запуска; тут просматриваются интересные варианты использования при развертывании приложений. Эти небольшие отличия могут показаться незначительными, но, вероятно, они были добавлены по велению сообщества ''Octave''. Проекты вроде&lt;br /&gt;
''Octave'' более отзывчивы к запросам пользователей, чем корпоративный элемент вроде The MathWorks.&lt;br /&gt;
&lt;br /&gt;
====Приличная скорость====&lt;br /&gt;
&lt;br /&gt;
Было бы весьма печально, если бы выбор между свободной и проприетарной платформами означал провал в скорости ваших вычислений. Но ''Octave'' – не тот случай: он показал 80% производительности ''Matlab'' в тесте SVD и около половины скорости в тесте FFT. При вычислении FFT разница измеряется сотыми долями секунды. Неясно, что внутри ''Matlab'' отличает его от ''Octave'' (а также ''Scilab'') и позволяет выжать эти сотые. Обнаружение мелких отличий и их ликвидация не проще поиска иголки в стоге сена, так как они обуславливаются множеством факторов, вроде использования памяти, загрузки процессора в момент тестирования, структуры данных и т.д. Главное, что производительность ''Octave'' более чем адекватна для любой задачи разумного объема.&lt;br /&gt;
&lt;br /&gt;
На сайте http://octave.sourceforge.net вы найдете дополнительные пакеты для использования в ''Octave'', являющиеся ''Octave''-эквивалентами&lt;br /&gt;
пакетов расширений (Toolbox) ''Matlab''. Список весьма обширен, а охватываемые предметные области столь же многочисленны, что и для&lt;br /&gt;
пакетов расширений ''Matlab''. Широкий выбор специализированного кода, который можно получить и использовать без оплаты, в значительной степени обуславливает мощь свободного и открытого ПО. Для пользователей, ценящих свободу и выбор, ''Octave'' – образцовый проект.&lt;br /&gt;
&lt;br /&gt;
====Статистика====&lt;br /&gt;
&lt;br /&gt;
Если ваши интересы – в сфере статистических расчетов, возможно, вам стоит обратить внимание на проект ''GNU R'', задуманный как свободное воплощение языка ''S'', который разработан в бывшей Bell Laboratories (ныне Lucent Technologies). ''R'' для ''S'' – то же, что ''Octave'' для ''Matlab'', но сосредоточен на статистике. ''R'' предоставляет удобные программы статистической обработки данных и построение статистических диаграмм и графиков, способных потребовать значительного кодирования даже на языке матриц вроде ''Octave. R'' можно найти по&lt;br /&gt;
адресу http://www.r-project.org, а учебник по ''R'' можно найти на [[LXF100-101:R|страницах LXF]]&lt;br /&gt;
&lt;br /&gt;
===''Sage''===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: Когда нужна серьезная математика.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>