Меню Рубрики

Gnu octave установка на windows

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки

GNU Octave 4 под Windows

Экс-модератор

Последний раз редактировалось GAA 11.07.2018, 01:24, всего редактировалось 28 раз(а).
Добавлено

На русском языке есть краткий учебный курс по третьей версии:
Алексеев Е.Р., Чеснокова О.В. Введение в Octave для инженеров и математиков. — M.: ALT Linux, 2012.

Загрузить инсталляцию [Octave, версия 4.4] можно с gnu.org.

Ниже при сравнении Octave с Matlab имеется в виду версия Octave 4.4 (под Windows) и Matlab 8 (под Windows).

Буду благодарен за уточнения для текущих версий Matlab под Windows, а также указание других отличий. Указанные в сравнении отличия — это то с чем столкнулся (систематически функции не сравнивались).

Сравнение MatLab и Octave 4.4.
I. Среда и базовые возможности

A.1. В Octave «редактор» рисунков имеет значительно меньше возможностей, чем редактор рисунков в MatLab. Перенести при помощи буфера обмена из окна рисунка в сторонний графический редактор рисунок в векторном формате нет возможности. Вставить во внешний редактор можно только Bitmap.

A.2. После установки Octave, открыть сохранённый на диске рисунок (ofig-файл) из меню среды (как в Matlab) напрямую нельзя, но можно открыть из командного окна при помощи функции hload . (Обсуждение)

A.3. Попытка сохранить рисунок в векторный графический файл (ps, eps, ) как из меню окна рисунка (Файл – Сохранить как), так и из командного окна
>> h = plot(X, exp(X), ‘r:x’), saveas(h, ‘exp_tst.ps’, ‘ps’)
привела к файлу, который открывает Corel Draw Х4, но изображение графика функции не отображается. Из возможных векторных форматов получилось сохранить только в svg и pdf. В Corel Draw Х4 удалось открыть svg и разгруппировать. После отмены группировки можно было убедиться, что тип линии (пунктирная) и цвет воспроизведены корректно. Однако пунктир настолько частый, что выглядит почти как сплошная линия.
(Примечание. Удалось также сохранить график в jpeg, png, tiff.)

A.4. Имеется возможность выбора (возможно нескольких) символов для комментирования (кроме традиционного символа # и совместимого с MatLab %, есть ещё такие варианты ##, %%, %!).

B.1. В Octave есть функция ifelse(mask, TVal, FVal) аналогичная тернарному оператору ? Си, if-функции MathCAD, `if`-функции Maple,… и не имеющая аналога в Matlab.
Если mask скалярное логическое значение, то TVal и FVal могут быть произвольными значениями. Функция возвращает TVal, если mask принимает значение true, либо FVal в противном случае.
Точно тоже выполняет функция merge (mask, tval, fval)

B.2. Функция str2double(S) переводит массив строк (матрицу символов) или массив ячеек, содержащих строки, в действительные или комплексные числа.

Такие расширенные возможности при преобразовании содержащих числа строк не поддерживают, по крайней мере, старые версии Matlab: в Matlab строка должна быть скалярной (не массив строк, т.е. не матрица символов); несколько строк с числами может содержать массив ячеек (например, str2double(<'2.71' '3.1415'>)).

B.3. В управляющих структурах и функциях появилась возможность уточнить end: endfunction, endif, endswitch, endfor, endwhile.

B.4. В Matlab переменные рабочего пространства и локального рабочего пространства функции недоступны в определении inline-функции.

>> a=2; f = inline(‘a*sin(x)’, ‘x’);
>> f(0)
Error using inlineeval (line 15)
Error in inline expression ==> a*sin(x)
Undefined function or variable ‘a’.

Error in inline/subsref (line 24)
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr,
INLINE_OBJ_.expr);

function DefArgDemo(x, opt1=1, opt2=2)
disp(opt1)
disp(opt2)
endfunction

”. Число передаваемых в функцию (фактических) аргументов, возвращаемое функцией nargin, учитывает игнорируемые аргументы.
Пример

, x)
nargin
res = sin(x);
endfunction
>> Y = IgnoringArgDemo(0, [0, pi/2, pi])
ans = 2
Y = 0.00000 1.00000 0.00000

. Функция nargout подсчитывает и игнорируемые выходные аргументы.
Пример

function [x, res] = IgnoringOutDemo(x)
nargout
res = sin(x);
endfunction

>> [X, Y] = IgnoringOutDemo([0, pi/2, pi])
ans = 2
X = 0.00000 1.57080 3.14159
Y = 0.00000 1.00000 0.00000
>> [

, Y] = IgnoringOutDemo([0, pi/2, pi])
ans = 2
Y = 0.00000 1.00000 0.00000

= ;
* возможность определения функций не только в m-файлах, но и в командном окне и сценариях.
* возможность индексации, в том числе множественной, не только переменных, но и выражений

* второй вариант символов для построения последовательности литералов: двойные кавычки. Matlab поддерживает двойные кавычки с R2017.

В старых версиях Matlab, например 6.5, нет, а в новых версиях, например в 8, есть логические операторы «вычисляемые по короткой схеме» (short-circuit boolean operators): && и || . В Matlab операнды должны быть скалярными выражениями.
&& : если первый операнд равен 0, то второй операнд не вычисляется, а сразу возвращается результата 0.
|| : если первый операнд равен 1, то второй операнд не вычисляется, а сразу возвращается результата 1.

В Octave у этих операторов расширен синтаксис: они обрабатывают не только скаляры, но и массивы.
Если B1 и B2 массивы, то B1 && B2 — это all(B1) && all(B2) ; B1 || B2 — это all(B1) || all(B2) .

B.8. В Matlab нет, а Octave есть цикл do-until.
Тело цикла

выполняется пока condition не примет значение true. Если в качестве condition выступает числовое выражение, то оно считается true, если все элементы не нулевые.

B.9. В Octave к механизму try-catch добавляется механизм unwind_protect. Это позволяет создавать конструкции try-catch-finally для обработки ошибок.

B.10. В Octave есть функции, которых нет, по крайней мере, в старых версиях matlab.
columns(X) , rows(X) —возвращают число столбцов и строк матрицы X.
sumsq(X) — сумма квадратов;
.

Многие функции допускают указание класса возвращаемого значения, многие функции при получении аргумента типа single, возвращают результат того же типа. В старых версиях Matlab, например 6.5, этого не было, но уже в 8 есть.
В следующем примере X и Y имеют тип single (экземпляры класса single)
>>X = zeros(1, ‘single’), Y = sin(X)

C.1. С «фабричными» (см. раздел 15.3.5 Managing Default Properties) значениями свойств по умолчанию текст (в широком смысле слова: подписи осей, заголовок, легенда) выводится очень мелким шрифтом. Это приводит к необходимости часто менять размер на более крупный. Если частое изменение размера и типа шрифта свойственно одному пользователю (см. раздел 2.1.2 Startup Files), то в папке “Documents and Settings \User_Name” создаём (если его там нет) фал .octaverc. [В этой же папке лежит файл .octave_hist. По этому файлу можно проверить в той ли папке создается файл.] В файл .octaverc добавляем строки приводимого ниже вида
set(groot, ‘DefaultAxesFontSize’, 20);
set(groot, ‘DefaultTextFontSize’ ,20);
Несмотря на то, что для совместимости с Matlab поддерживается Startup.m, в документации Octave рекомендуется использовать более гибкую «иерархию» .octaverc-файлов.

С.2. В Octave не все заявленные в документации (15.3.5 Managing Default Properties) символы отображаются в заголовке (функция title ). Не отображаются: \surd, \wp, \perp, \langle, \rangle, \mid, \Rightarrow . (Больше символов отображается в подписях. Например отображается \Rightarrow . Но также не все.) Однако в Matlab 8 (например, R2013b) отображаются все. [Используемая ОС: Windows Server 2003; типа серверный аналог XP.] При достаточно больших размерах фонта (особенно с Times, но и с другими, хоть и в меньшей степени) в подписях осей при форматировании курсивом не отображается (в окне рисунка) верхняя правая часть некоторых символов, например W , E , T , U , (слегка) I , F , H , j , J , X , y , Y , Z , X , N , M . Это происходит как в случае присвоения свойству ‘fontangle’ значения ‘italic’, так и при использовании команды \it , например ylabel(‘<\ity>‘, ‘fontname’, ‘Times’) .

С.3. В строках str1 , str2 формата функции plot(x1, y1, str1, x2, y2, str2,…) в дополнение к указанию цвета, типа линии и типа маркера (что есть и в Matlab) имеется возможность указать подписи графика (элемента легенды) чего в Matlab нет.
X = [0: 0.2: pi];
plot(X, sin(X), ‘-ro;sin <\itx>;’, X, cos(X), ‘-ko;cos <\itx>;’, ‘markersize’, 20);

Источник

Octave for Microsoft Windows

Users are encouraged to use the latest version unless a specific feature or requirement warrants using an older version of the software. Version specific instructions and installation notes are provided below.

Note: As of version 4.4.1, Octave no longer supports Windows XP. There may be some workarounds to get Octave installed and running in command line mode (see Bug #54662), but maintainers cannot provide support and troubleshooting for this beyond what has already been documented.

Contents

Installers for Microsoft Windows [ edit ]

The easiest way to install GNU Octave on Microsoft Windows is by using MXE builds. For the current release, both 32-bit and 64-bit installers and zip archived packages (.zip and .7z formats) can be found at https://www.gnu.org/software/octave/download.html under the Windows tab.

  • For executable (.exe) installers: the user can simply run the downloaded file and follow the on-screen installation prompts. It is recommended that the installation path does not include spaces or non-ASCII characters. Shortcuts to the program will be created automatically.
  • For the 7z/zip archives:
  1. Extract the file content to a directory on the harddrive (such as C:\Octave ). Spaces or non-ASCII characters in the path are discouraged and may cause program errors.
  2. Manually create a shortcut to the octave.vbs file in the main installation directory. (Right-click on the file, select ‘Create Shortcut’, and move the new shortcut to your desired location.)
  3. If a command-line only instance of Octave is desired, the user can create another shortcut as stated above, right-click on the shortcut, select Properties, and add —no-gui to the end of the Target field.
  4. IMPORTANT: Run the post-install.bat file before running Octave the first time to reduce plot delays due to the Windows font cache and make the pre-installed packages visible to the system.

Packages [ edit ]

A selection of pre-built, Octave Forge packages are included with for all versions of the official Windows release. If you followed the installation directions above you can confirm the package list by typing the command below at the Octave command prompt:

A typical output (for version 5.2.0) is:

(__OH__) refers to the location of the OCTAVE_HOME environment variable.

If Octave was installed from a zip of 7z archive and you did not run the post-install.bat file, you may need to run:

All packages can be updated to the latest version by running:

Other packages can be installed by running:

To install a new or updated package version manually, the package file can be downloaded from the Octave Forge website to the working directory and can be installed using:

Источник

Общие сведения, установка

Введение

Курс посвящен GNU Octave — одной из самых интересных прикладных программ для решения инженерных и математических задач.

GNU Octave — это свободный интерпретирующий язык для проведения математических вычислений. По возможностям и качеству реализации интерпретатора язык Octave можно сравнивать с проприетарной программой MATLAB, причём синтаксис обоих языков очень схож.

Существуют версии языка для различных дистрибутивов GNU Linux ( ALT Linux, Debian, Ubuntu, Mandriva и др.) и для ОС Windows . На наш взгляд, GNU Octave больше ориентирован на работу в Linux. Работа в ОС Windows возможна, но пользователю Windows надо быть готовым работать с простым текстовым редактором и командной строкой.

Когда авторы начинали знакомиться с GNU Octave, основной проблемой было отсутствие хорошего русскоязычного введения в этот язык. Наша книга является попыткой восполнить этот пробел . Поэтому большое внимание было уделено самому языку (глава 3), операциям с матрицами (глава 5) и графическим возможностям пакета (глава 4).

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

Что касается графических оболочек, таких как qtOctave, Xoctave и Kalculus , нами принято решение кратко описать наиболее стабильную из них, qtOctave , а основное внимание в книге уделить собственно языку. Мы считаем, что GNU Octave — это в первую очередь мощный интерпретирующий язык. Зная его, пользователь сможет работать с любой графической оболочкой.

Авторы выражают благодарность компании ALT Linux за многолетнее сотрудничество и возможность издать очередную книгу.

Авторы заинтересованы в общении с читателями. Мы ждём ваши замечания и отзывы по адресам EAlekseev@gmail. com и chesn_o@ list .ru.

Донецк, апрель 2012

1.1 Принципы работы с интерпретатором

Octave — высокоуровневый интерпретируемый язык программирования , предназначенный для решения задач вычислительной математики. В состав пакета входит интерактивный командный интерфейс ( интерпретатор Octave). Интерпретатор Octave запускается из терминала ОС Linux или из его порта в Windows . После запуска Octave пользователь видит окно интерпретатора (рис. 1.1).

В окне интерпретатора пользователь может вводить как отдельные команды языка Octave, так и группы команд, объединяемые в программы. Если строка заканчивается символом «;», результаты на экран не выводятся. Если же в конце строки символ «;» отсутствует,

результаты работы выводятся на экран (рис. 1.2). Текст в строке после символа ( процент ) является комментарием и интерпретатором не обрабатывается (рис. 1.2). (Строки комментариев авторы книги будут использовать для пояснения функций и текстов программ.) Рассмотрим несколько несложных примеров.

Пример 1.1. Решить систему линейных алгебраических уравнений (СЛАУ)

Возможны два варианта решения любой задачи в Octave:

  1. Терминальный режим. В этом режиме в окно интерпретатора последовательно вводятся отдельные команды.
  2. Программный режим. В этом режиме создаётся текстовый файл с расширением .m , в котором хранятся последовательно выполняемые команды Octave. Затем этот текстовый файл (программа на языке Octave) запускается на выполнение в среде Octave.

Для решения СЛАУ в окне интерпретатора Octave последовательно введём следующие команды:

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

Теперь рассмотрим, как решить эту же задачу в программном режиме. Вызовем любой текстовый редактор . (Именно текстовый редактор ! Не путайте с текстовыми процессорами типа Microsoft Word или OpenOffice.org/LibreOffice Writer.) Например gedit , в окне которого последовательно введём следующие команды:

Сохраним введённые команды в виде файла с расширением .m , например, /home/evgeniy/prim1_1.m (рис. 1.3). Теперь эту программу необходимо запустить на выполнение из интерпретатора. Для этого в окне интерпретатора введём команды:

Окно интерпретатора примет вид, представленный на рис. 1.4. Просмотрев результаты работы программы, нажмите для возвращения в режим ввода команд терминала.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Gnu make utility for windows
  • Gnu grub не загружает windows
  • Gnu grub как установить windows
  • Gnu fortran windows 10
  • Gnu core utilities windows