Это команда PDL :: MATLABp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
PDL :: MATLAB - Руководство для пользователей MATLAB.
ВВЕДЕНИЕ
Если вы являетесь пользователем MATLAB, эта страница для вас. Это объясняет ключевые различия между
MATLAB и PDL, чтобы помочь вам начать работу как можно быстрее.
Эти документ is a учебник. Для этого перейдите в PDL :: QuickStart. Этот документ
комплементов руководство по быстрому запуску, поскольку в нем подчеркиваются ключевые различия между MATLAB и
ПДЛ.
Perl
Ключевое различие между MATLAB и PDL заключается в Perl.
Perl - это язык программирования общего назначения с тысячами свободно доступных модулей.
В интернете. PDL - это расширение Perl. Это дает программам PDL доступ к большему количеству функций.
чем может мечтать большинство числовых инструментов. В то же время большинство синтаксических различий между
MATLAB и PDL являются результатом его основы на Perl.
do встали на сторону в изучить много Perl в be высокоэффективным PDL. Но если ты хочешь научиться
Perl, в сети доступна отличная документация (http://perldoc.perl.org>) или
через команду "perldoc perl". Также есть портал для новичков
(<http://perl-begin.org>).
Репозиторий модулей Perl называется CPAN (http://www.cpan.org>) и имеет огромное количество
модули. Для получения дополнительной информации запустите «perldoc cpan».
ТЕРМИНОЛОГИЯ: ПИДДЛ
MATLAB обычно относится к векторам, матрицам и массивам. В Perl уже есть массивы, а
термины «вектор» и «матрица» обычно относятся к одно- и двумерным коллекциям
данные. Не имея подходящего термина для описания своего объекта, разработчики PDL придумали термин
"лужа"чтобы дать имя их типу данных.
A лужа состоит из ряда чисел, организованных как N-мерный набор данных. Piddles
обеспечивают эффективное хранение и быстрое вычисление больших N-мерных матриц. Они есть
оптимизирован для числовой работы.
Для получения дополнительной информации см. "Piddles vs Perl Массивы"далее в этом документе.
КОМАНДА ОКНО И IDE
В отличие от MATLAB, PDL не имеет специальной IDE. Однако он имеет
интерактивная оболочка, и вы можете использовать Perl IDE для разработки программ PDL.
PDL интерактивный оболочка
Чтобы запустить интерактивную оболочку, откройте терминал и запустите «perldl» или «pdl2». Как и в MATLAB,
интерактивная оболочка - лучший способ выучить язык. Чтобы выйти из оболочки, введите
«выход», как в MATLAB.
Writing PDL программы
Одна из популярных IDE для Perl называется Padre (http://padre.perlide.org>). Это крест
платформа и проста в использовании.
Всякий раз, когда вы пишете автономную программу PDL (т.е. вне оболочки "perldl" или "pdl2")
вы должны запускать программу с "use PDL;". Эта команда импортирует модуль PDL в
Perl. Вот пример программы PDL:
использовать PDL; # Импортировать основной модуль PDL.
используйте PDL :: NiceSlice; # Импортировать дополнительный модуль PDL.
используйте PDL :: AutoLoader; # Импортировать дополнительный модуль PDL.
$ b = pdl [2,3,4]; # Операторы заканчиваются точкой с запятой.
$ A = pdl [[1,2,3], [4,5,6]]; # 2-мерная матрица.
напечатать $ A x $ b-> транспонировать;
Сохраните этот файл как «myprogram.pl» и запустите его с помощью:
Perl myprogram.pl
Новое: Гибкий Подход синтаксис
В текущих версиях PDL (версия 2.4.7 или новее) есть гибкий матричный синтаксис, который
может выглядеть очень похоже на MATLAB:
1) Используйте ';' для разделения строк:
$ b = pdl q [2,3,4];
$ A = pdl q [1,2,3; 4,5,6];
2) Используйте пробелы для разделения элементов:
$ b = pdl q [2 3 4];
$ A = pdl q [1 2 3; 4 5 6];
По сути, если вы поставите «q» перед открывающей скобкой, PDL должен «делать то, что
вы имеете в виду ". Таким образом, вы можете писать в более удобном для вас синтаксисе.
МОДУЛИ Для MATLAB пОЛЬЗОВАТЕЛЕЙ
Пользователи MATLAB захотят использовать два модуля:
PDL :: NiceSlice
Предоставляет PDL синтаксис для срезов (подматриц), который короче и более привычен для
Пользователи MATLAB.
% МАТЛАБ
b (1: 5) -> Выбирает первые 5 элементов из b.
# PDL без NiceSlice
$ b-> slice ("0: 4") -> Выбирает первые 5 элементов из $ b.
# PDL с NiceSlice
$ b (0: 4) -> Выбирает первые 5 элементов из $ b.
PDL :: Автозагрузчик
Предоставляет автозагрузчик в стиле MATLAB для PDL. Если вызывается неизвестная функция "foo ()",
PDL ищет файл с именем «foo.pdl». Если он его находит, он его читает.
BASIC ФУНКЦИИ И ОСОБЕННОСТИ
В этом разделе объясняется, чем синтаксис PDL отличается от MATLAB. Большинство пользователей MATLAB захотят
Начни здесь.
Общие "ошибки"
Индексы
В PDL индексы начинаются с «0» (как C и Java), а не с 1 (как MATLAB или FORTRAN). За
Например, если $ b представляет собой массив из 5 элементов, элементы будут пронумерованы от 0 до
4.
Отображение объекта
MATLAB обычно автоматически отображает содержимое объекта. В оболочках PDL вы отображаете
объекты явно с помощью команды "print" или ярлыка "p":
МАТЛАБ:
>> а = 12
a = 12
>> b = 23; % Подавить вывод.
>>
Оболочка PDL (perldl или pdl2):
pdl> $ a = 12 # Нет вывода.
pdl> print $ a # Печать объекта.
12
pdl> p $ a # "p" - это сокращение от "print" в оболочке.
12
pdl>
Создающий Piddles
Переменные в PDL
Переменные всегда начинаются со знака «$».
MATLAB: значение = 42
PerlDL: $ value = 42
Основной синтаксис
Используйте конструктор «pdl» для создания нового лужа.
МАТЛАБ: v = [1,2,3,4]
PerlDL: $ v = pdl [1,2,3,4]
MATLAB: A = [1,2,3; 3,4,5]
PerlDL: $ A = pdl [[1,2,3], [3,4,5]]
Простые матрицы
МАТЛАБ ПДЛ
------ ------
Матрица из них те,(5) единицы 5,5
Матрица нулей нули(5) нули 5,5
Случайная матрица все(5) случайный 5,5
Линейный вектор 1: 5 последовательность 5
Обратите внимание, что в PDL скобки в вызове функции часто необязательны. это
важно следить за возможными двусмысленностями. Например:
pdl> p нули 2, 2 + 2
Следует ли это интерпретировать как «нули (2,2) + 2» или как «нули 2, (2 + 2)»? Оба
действительные заявления:
pdl> p нулей (2,2) + 2
[
[2 2]
[2 2]
]
pdl> p нулей 2, (2 + 2)
[
[0 0]
[0 0]
[0 0]
[0 0]
]
Вместо того, чтобы пытаться запомнить порядок приоритета Perl, лучше использовать
круглые скобки, чтобы сделать ваш код однозначным.
Последовательности с линейным интервалом
MATLAB: >> linspace (2,10,5)
ANS = 2 4 6 8 10
PerlDL: pdl> p обнуляет(5) -> xlinval (2,10)
[2 4 6 8 10]
объяснение: Начните с одномерного поля из 1 элементов и дайте ему одинаково
значения с интервалом от 2 до 10.
MATLAB имеет для этого единственный вызов функции. С другой стороны, метод PDL более
гибкий:
pdl> p нулей (5,5) -> xlinval (2,10)
[
[2 4 6 8 10]
[2 4 6 8 10]
[2 4 6 8 10]
[2 4 6 8 10]
[2 4 6 8 10]
]
pdl> p нулей (5,5) -> ylinval (2,10)
[
[2 2 2 2 2]
[4 4 4 4 4]
[6 6 6 6 6]
[8 8 8 8 8]
[10 10 10 10 10]
]
pdl> p нулей (3,3,3) -> zlinval (2,6)
[
[
[2 2 2]
[2 2 2]
[2 2 2]
]
[
[4 4 4]
[4 4 4]
[4 4 4]
]
[
[6 6 6]
[6 6 6]
[6 6 6]
]
]
Нарезка и индексы
Извлечение подмножества из коллекции данных известно как нарезка. PDL и MATLAB
имеют похожий синтаксис для нарезки, но есть два важных отличия:
1) Индексы PDL начинаются с 0, как в C и Java. MATLAB начинает индексы с 1.
2) В MATLAB вы думаете «строки и столбцы». В PDL думайте «x и y».
MATLAB PerlDL
------ ------
>> A pdl> p $ A
А = [
1 2 3 [1 2 3]
4 5 6 [4 5 6]
7 8 9 [7 8 9]
]
-------------------------------------------------- -----
(строка = 2, столбец = 1) (x = 0, y = 1)
>> А (2,1) pdl> p $ A (0,1)
ответ = [
4 [4]
]
-------------------------------------------------- -----
(строка = от 2 до 3, столбец = от 1 до 2) (x = от 0 до 1, y = от 1 до 2)
>> A (2: 3,1: 2) pdl> p $ A (0: 1,1: 2)
ответ = [
4 5 [4 5]
7 8 [7 8]
]
Предупреждение
Когда вы пишете автономную программу PDL, вы должны включить PDL :: NiceSlice
модуль. См. Предыдущий раздел "МОДУЛИ Для MATLAB пОЛЬЗОВАТЕЛЕЙ" для большего
Информация.
использовать PDL; # Импортировать основной модуль PDL.
используйте PDL :: NiceSlice; # Хороший синтаксис для нарезки.
используйте PDL :: AutoLoader; # MATLAB-подобный автозагрузчик.
$ A = случайный 4,4;
напечатать $ A (0,1);
матрица Операционный отдел
Матричное умножение
МАТЛАБ: А * В
PerlDL: $ A x $ B
Поэлементное умножение
MATLAB: A. * B
PerlDL: $ A * $ B
транспонировать
MATLAB: A '
PerlDL: $ A-> транспонировать
функции который совокупный данным
Некоторые функции (например, «sum», «max» и «min») агрегируют данные для N-мерного набора данных.
Это место, где MATLAB и PDL используют другой подход:
В MATLAB все эти функции работают в одном измерении.
>> A = [1,5,4; 4,2,1]
А = 1 5 4
4 2 1
>> макс (А)
Ответ = 4 5 4
>> макс (А ')
ответ = 5 4
Если вы хотите получить максимум для всего набора данных, вы можете использовать специальный A (:)
нотация, которая в основном превращает весь набор данных в единый одномерный
вектор.
>> макс (A (:))
ответ = 5
>> A = единицы (2,2,2,2)
>> макс (A (:))
ответ = 1
PDL предлагает две функции для каждой функции.
сумма против сумовера
среднее по сравнению со средним
макс против максимума
мин против минимума
Команда длинной имя работает над размером, в то время как короткие имя работает над всем
лужа.
pdl> p $ A = pdl [[1,5,4], [4,2,1]]
[
[1 5 4]
[4 2 1]
]
pdl> p $ A-> максимум
[5 4]
pdl> p $ A-> транспонировать-> максимум
[4 5 4]
pdl> p $ A-> max
5
pdl> p единиц (2,2,2) -> max
1
pdl> p единиц (2,2,2,2) -> max
1
Внимание Обратите внимание, что PDL агрегирует по горизонтали, в то время как MATLAB агрегирует по вертикали. В других
слова:
MATLAB PerlDL
max (A) == $ A-> транспонировать-> максимум
макс (A ') == $ A-> максимум
СОВЕТ: В MATLAB вы думаете «строки и столбцы». В PDL думайте «x и y».
Высший мерных данным Наборы
Связанная проблема заключается в том, как MATLAB и PDL понимают наборы данных более высокого измерения. MATLAB был
предназначен для одномерных векторов и двухмерных матриц. Объекты более высокой размерности («массивы ND») были
добавлен сверху. Напротив, PDL с самого начала был разработан для N-мерных узлов. Этот
приводит к нескольким сюрпризам в MATLAB, которых нет в PDL:
MATLAB видит вектор как 2D-матрицу.
MATLAB PerlDL
------ ------
>> вектор = [1,2,3,4]; pdl> $ vector = pdl [1,2,3,4]
>> размер (вектор) pdl> p $ vector-> dims
Ответ = 1 4 4
MATLAB видит «[1,2,3,4]» как 2D-матрицу (матрица 1x4). PDL рассматривает его как одномерный вектор: A
Одноместный размер 4.
Но MATLAB игнорирует последнее измерение матрицы 4x1x1.
MATLAB PerlDL
------ ------
>> A = единицы (4,1,1); pdl> $ A = единицы 4,1,1
>> размер (A) pdl> p $ A-> dims
ANS = 4 1 4 1 1
И MATLAB обрабатывает матрицу 4x1x1 иначе, чем матрицу 1x1x4.
MATLAB PerlDL
------ ------
>> A = единицы (1,1,4); pdl> $ A = единицы 1,1,4
>> размер (A) pdl> p $ A-> dims
ответ = 1 1 4 1 1 4
MATLAB не имеет прямого синтаксиса для массивов ND.
pdl> $ A = pdl [[[1,2,3], [4,5,6]], [[2,3,4], [5,6,7]]]
pdl> p $ A-> затемняет
3 2 2
Поддержка функций.
В MATLAB некоторые функции, такие как поддержка разреженной матрицы, недоступны для ND.
массивы. В PDL практически любая функция, поддерживаемая 1D и 2D piddles, одинаково
поддерживаются N-мерными точками. Обычно нет различий.
Петля Структуры
Perl имеет много структур циклов, но мы покажем только ту, которая наиболее знакома
Пользователи MATLAB:
MATLAB PerlDL
------ ------
для i = 1:10 для $ i (1..10) {
disp (i) print $ i
endfor}
Внимание Никогда не используйте циклы for для числовой работы. Циклы for в Perl быстрее, чем в MATLAB,
но они оба бледнеют против «векторизованной» операции. PDL имеет множество инструментов, которые
облегчить написание векторизованных программ. Это выходит за рамки данного руководства. К
дополнительные сведения см. в разделах PDL :: Indexing, PDL :: Threading и PDL :: PP.
Точно так же никогда не используйте 1..10 для числовых вычислений, даже вне цикла for. 1..10 - это
Массив Perl. Массивы Perl созданы для гибкости, а не для скорости. Использовать piddles .
Чтобы узнать больше, см. Следующий раздел.
Piddles vs Perl Массивы
Важно отметить разницу между баловаться и массив Perl. Perl имеет
универсальный объект массива, который может содержать любой тип элемента:
@perl_array = 1..10;
@perl_array = (12, «Привет»);
@perl_array = (1, 2, 3, \ @another_perl_array, последовательность(5));
Массивы Perl позволяют создавать мощные структуры данных (см. Данные структур ниже), но
предназначенный для численный работает. Для этого используйте piddles:
$ pdl = pdl [1, 2, 3, 4];
$ pdl = последовательность 10_000_000;
$ pdl = 600, 600;
Например:
$ points = pdl 1..10_000_000 # 4.7 секунды
$ points = последовательность 10_000_000 # миллисекунд
СОВЕТ: Вы можете использовать символы подчеркивания в числах ("10_000_000" читается лучше, чем 10000000).
Conditionals
Perl имеет много условных операторов, но мы покажем только ту, которая наиболее знакома с MATLAB.
пользователей:
MATLAB PerlDL
------ ------
если значение> MAX if ($ value> $ MAX) {
disp ("Слишком большой") print "Слишком большой \ n";
elseif значение <MIN} elsif ($ value <$ MIN) {
disp ("Слишком маленький") print "Слишком маленький \ n";
else} else {
disp ("Отлично!") print "Отлично! \ n";
конец }
Внимание Вот такая вот "ошибка":
MATLAB: иначе, если
PerlDL: Эльсиф
Если ваше условие дает синтаксическую ошибку, убедитесь, что вы написали свой "elsif"
правильно.
ТИМТОВДИ (Там Is Ещё Чем один Путь к Do Это)
Одно из самых интересных отличий PDL от других инструментов - выразительность.
языка Perl. TIMTOWDI, или «Есть несколько способов сделать это», - это девиз Perl.
Perl был написан лингвистом, и одним из его определяющих свойств является то, что операторы могут
быть сформулированы по-разному, чтобы придать языку более естественный вид. Например, вы
вряд ли скажут другу:
«Пока я не закончу, я буду продолжать работать».
Человеческий язык более гибкий, чем это. Вместо этого вы, скорее всего, скажете:
«Я буду продолжать работать, пока не закончу».
Благодаря своим лингвистическим корням Perl - единственный язык программирования с таким типом
гибкость. Например, в Perl есть традиционные циклы while и if:
while (! finished ()) {
продолжать работать();
}
if (! wife_angry ()) {
kiss_wife ();
}
Но он также предлагает альтернативу до и если не заявления:
до (завершено ()) {
продолжать работать();
}
if (wife_angry ()) {
kiss_wife ();
}
А Perl позволяет писать циклы и условные выражения в "постфиксной" форме:
keep_working () до завершения ();
kiss_wife (), если только wife_angry ();
Таким образом, Perl часто позволяет писать более естественный и простой для понимания код, чем
возможно в более ограниченных языках программирования.
функции
Синтаксис PDL для объявления функций значительно отличается от MATLAB.
MATLAB PerlDL
------ ------
функция retval = foo (x, y) sub foo {
retval = x. ** 2 + x. * y my ($ x, $ y) = @_;
endfunction return $ x ** 2 + $ x * $ y;
}
Не пугайтесь нового синтаксиса. Вот краткий обзор функции
декларация в PDL:
1) "ниже"означает" подпрограмма ".
2) "my"объявляет переменные локальными для функции.
3) "@_"- специальный массив Perl, содержащий все параметры функции. Это может показаться
как странный способ выполнения функций, но он позволяет вам создавать функции, которые принимают
переменное количество параметров. Например, следующая функция принимает любое количество
параметры и складывает их вместе:
суб моя сумма {
мой ($ i, $ total) = (0, 0);
для $ i (@_) {
$ total + = $ i;
}
return $ total;
}
4) Вы можете присвоить значения сразу нескольким переменным, используя синтаксис:
($ a, $ b, $ c) = (1, 2, 3);
Итак, в предыдущих примерах:
# Это объявляет две локальные переменные и инициализирует их равными 0.
мой ($ i, $ total) = (0, 0);
# Это берет первые два элемента @_ и помещает их в $ x и $ y.
мой ($ x, $ y) = @_;
5) Значок "возвращают"оператор возвращает возвращаемое значение функции, если таковое имеется.
ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ И ОСОБЕННОСТИ
ASCII Файл IO
Для чтения файлов данных, содержащих столбцы чисел, разделенные пробелами (как было бы прочитано
используя MATLAB загрузка команда) используется PDL рколс в PDL :: IO :: Misc. Для генерала
обзор функциональности ввода-вывода, доступной в PDL, см. документацию для PDL :: IO, например,
"help PDL :: IO" в pdl2 shell или "pdldoc PDL :: IO" из командной строки оболочки.
Данные структур
Для создания сложных структур данных MATLAB использует "ячейка массивы, а такжеСтруктура массивы".
Массивы и хэши Perl предлагают аналогичные функции, но являются более мощными и гибкими.
Этот раздел представляет собой лишь краткий обзор того, что может предложить Perl. Чтобы узнать об этом больше,
пожалуйста, перейдите кhttp://perldoc.perl.org/perldata.html> или выполните команду "perldoc
perldata ".
Массивы
Массивы Perl похожи на массивы ячеек MATLAB, но более гибкие. Например, в
MATLAB, массив ячеек по-прежнему является матрицей. Он состоит из рядов и рядов
должны иметь одинаковую длину.
MATLAB
------
массив = {1, 12, 'привет'; рандом (3, 2), те,(3), 'мусор'}
=> ОК
массив = {1, 12, 'привет'; рандом (3, 2), те,(3)}
=> ОШИБКА
Массив Perl - это последовательная структура данных общего назначения. Может содержать любые данные
тип.
PerlDL
------
@array = ([1, 12, 'привет'], [random (3,2), ones (3,3), 'junk'])
=> ОК
@array = ([1, 12, 'привет'], [random (3,2), ones (3,3)])
=> ОК
@array = (5, {'name' => 'Mike'}, [1, 12, 'hello'])
=> ОК
Обратите внимание, что массив Perl начинается с префикса «@» вместо символа «$», используемого
лужи.
к изучить в отношении Perl массивы, пожалуйста go в <http://perldoc.perl.org/perldata.html> or
пробег команду "Perldoc perldata ".
Хэш
Хэши Perl похожи на массивы структур MATLAB:
MATLAB
------
>> drink = struct ('тип', 'кола', 'размер', 'большой', 'myarray', {1,2,3})
>> drink.type = 'спрайт'
>> drink.price = 12% Добавить новое поле в массив структуры.
PerlDL
------
pdl>% drink = (type => 'coke', size => 'large', mypiddle => ones (3,3,3))
pdl> $ drink {type} = 'спрайт'
pdl> $ drink {price} = 12 # Добавить новое поле в хеш.
Обратите внимание, что хеши Perl начинаются с префикса «%» вместо «@» для массивов и
"$" используется piddles.
к изучить в отношении Perl хеши, пожалуйста go в <http://perldoc.perl.org/perldata.html> or
пробег команду "Perldoc perldata ".
эффективности
PDL обладает мощными функциями повышения производительности, некоторые из которых обычно недоступны в
средства численных расчетов. На следующих страницах вы узнаете об этих функциях:
PDL :: Индексирование
Уровень: Начинающий
В этом руководстве для начинающих рассматривается стандартная функция "векторизации", которую вы уже
знаю из MATLAB. Используйте эту страницу, чтобы узнать, как избежать циклов for для создания вашей программы
более эффективным.
PDL :: Threading
Уровень: Промежуточный
Функция «векторизации» PDL выходит за рамки того, что может делать большинство числовых программ. В
в этом уроке вы узнаете, как «продвигаться» через более высокие измерения, что позволит вам
векторизуйте вашу программу дальше, чем это возможно в MATLAB.
тесты
Уровень: Промежуточный
Perl поставляется с простым в использовании модулем тестов, который поможет вам узнать, сколько времени это займет
для выполнения разных частей вашего кода. Это отличный инструмент, который поможет вам сосредоточить свои
усилия по оптимизации. Вы можете прочитать об этом в Интернете
(<http://perldoc.perl.org/Benchmark.html>) или через команду "perldoc
Контрольный показатель ".
PDL :: PP
Уровень: Передовой
Препроцессор PDL - одна из самых мощных функций PDL. Вы пишете функцию
определение в специальной разметке, и препроцессор генерирует реальный код C, который может быть
составлен. С PDL: PP вы получаете полную скорость нативного кода C без необходимости иметь дело
с полной сложностью языка C.
Построение
PDL имеет полнофункциональные возможности построения графиков. В отличие от MATLAB, PDL больше полагается на сторонние
библиотеки (pgplot и PLplot) для функций построения 2D-графиков. Его 3D-графика и графика
использует OpenGL для повышения производительности и мобильности. PDL имеет три основных графических модуля:
PDL :: Графика :: PGPLOT
Лучшее для: Построение 2D-функций и наборов данных.
Это интерфейс к почтенной библиотеке PGPLOT. PGPLOT широко используется в
академические и научные сообщества на протяжении многих лет. Отчасти из-за возраста,
PGPLOT имеет некоторые ограничения по сравнению с новыми пакетами, такими как PLplot (например, отсутствие RGB
графика). Но у него есть много особенностей, которые до сих пор делают его популярным в научных кругах.
общинах.
PDL :: Графика :: PLplot
Лучшее для: Построение 2D-функций, а также наборов данных 2D и 3D.
Это интерфейс для графической библиотеки PLplot. PLplot - это современный, открытый исходный код
библиотека для создания научных сюжетов. Он поддерживает графики как 2D, так и 3D наборов данных.
PLplot лучше всего поддерживается для платформ unix / linux / macosx. Имеет активных разработчиков
Сообщество и поддержка платформ win32 улучшаются.
PDL :: Графика :: TriD
Лучшее для: Построение трехмерных функций.
Собственная библиотека 3D-графики PDL, использующая OpenGL в качестве бэкэнда для 3D-графиков и данных.
визуализация. С OpenGL легко манипулировать полученными 3D-объектами с помощью
мышь в реальном времени.
Writing ГПИ
Через Perl PDL имеет доступ ко всем основным инструментам для создания кроссплатформенной платформы.
графический пользовательский интерфейс. Один из популярных вариантов - wxPerl (http://wxperl.sourceforge.net>).
Это привязки Perl для wxWidgets, мощного инструментария с графическим интерфейсом для написания кросс-
платформенные приложения.
wxWidgets разработан для того, чтобы ваше приложение выглядело и ощущалось как родное приложение в
каждая платформа. Например, Perl IDE Отец написан с помощью wxPerl.
Simulink
Simulink - это средство моделирования и симулятора графических динамических систем. Его можно купить
отдельно как дополнение к MATLAB. PDL и Perl не имеют прямого эквивалента
Simulink от MATLAB. Если эта функция важна для вас, взгляните на Скилаб:
<http://www.scilab.org>
Scilab - еще одна программа для численного анализа. Как и PDL, он бесплатный и с открытым исходным кодом. Это
не имеет уникальных возможностей PDL, но очень похож на MATLAB. Scilab поставляется с
Икос (ранее Scicos), средство моделирования и симулятора графической системы, аналогичное Simulink.
АВТОРСКИЕ ПРАВА
Авторские права 2010 Даниэль Каррера ([электронная почта защищена]). Вы можете распространять и / или изменять это
документ на тех же условиях, что и текущая лицензия Perl.
См.: http://dev.perl.org/licenses/
Благодарности
Я хотел бы поблагодарить Дэвида Мертенса, Криса Маршалла и Сигрид Карреру за их огромную
помогите просмотреть более ранние версии этого руководства. Без их рабочего времени это
документ не был бы удаленно так полезен для пользователей MATLAB, как сегодня.
Используйте PDL :: MATLABp онлайн с помощью сервисов onworks.net