Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 635151)
Контекстум
Руконтекст антиплагиат система

Краткое введение в систему Octave (110,00 руб.)

0   0
АвторыИзраилевич Яков Аронович
ИздательствоИздательско-полиграфический центр Воронежского государственного университета
Страниц16
ID245154
АннотацияУчебно-методическое пособие подготовлено на кафедре математического анализа математического факультета Воронежского государственного университета.
Кому рекомендованоРекомендуется для студентов 3–5 курсов математического факультета очной формы обучения.
Краткое введение в систему Octave / Я.А. Израилевич .— Воронеж : Издательско-полиграфический центр Воронежского государственного университета .— 16 с. — 15 с. — URL: https://rucont.ru/efd/245154 (дата обращения: 07.05.2024)

Предпросмотр (выдержки из произведения)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» КРАТКОЕ ВВЕДЕНИЕ В СИСТЕМУ OCTAVE Учебно-методическое пособие для вузов Составитель Я.А. <...> Израилевич Издательско-полиграфический центр Воронежского государственного университета 2009 Утверждено научно-методическим советом математического факультета 30 апреля 2009 г., протокол № 8 Рецензент А.В. <...> Костин Учебно-методическое пособие подготовлено на кафедре математического анализа математического факультета Воронежского государственного университета. <...> Рекомендуется для студентов 3–5 курсов математического факультета очной формы обучения. <...> Для специальности 010101 – Математика и направления 010100 – Математика 2 ВВЕДЕНИЕ В последнее время усилился интерес к свободно распространяемому программному обеспечению (freeware) — как альтернативе коммерческому лицензионному программному обеспечению (proprietary software), причем этот интерес характерен для самых различных сфер деятельности, включая образование и бизнес. <...> Стоит отметить, что основной альтернативой коммерческому лицензионному пакету Microsoft Office является свободно распространяемый пакет OpenOffice.org, и что имеется достаточно широкий выбор свободно распространяемых средств программирования и разработки баз данных, а в качестве альтернатив таким коммерческим лицензионным пакетам компьютерной математики, как Mathematica, Maple и MATLAB, часто используют программы Maxima и scilab, существенно уступающие своим коммерческим лицензионным конкурентам (как это обычно и бывает). <...> Определенный интерес может представлять такая свободно распространяемая программа компьютерной математики, как GNU Octave. <...> Ее возможности в решении задач математического программирования шире, чем у Maxima, scilab и OpenOffice.org Calc, а документация по Octave вполне удобочитаема и подробна. <...> Отметим наличие в Octave основных финансовых функций, активно используемых <...>
Краткое_введение_в_систему_Octave.pdf
Стр.1
Стр.3
Стр.6
Стр.7
Стр.8
Краткое_введение_в_систему_Octave.pdf
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» КРАТКОЕ ВВЕДЕНИЕ В СИСТЕМУ OCTAVE Учебно-методическое пособие для вузов Составитель Я.А. Израилевич Издательско-полиграфический центр Воронежского государственного университета 2009
Стр.1
ВВЕДЕНИЕ В последнее время усилился интерес к свободно распространяемому программному обеспечению (freeware) — как альтернативе коммерческому лицензионному программному обеспечению (proprietary software), причем этот интерес характерен для самых различных сфер деятельности, включая образование и бизнес. Стоит отметить, что основной альтернативой коммерческому лицензионному пакету Microsoft Office является свободно распространяемый пакет OpenOffice.org, и что имеется достаточно широкий выбор свободно распространяемых средств программирования и разработки баз данных, а в качестве альтернатив таким коммерческим лицензионным пакетам компьютерной математики, как Mathematica, Maple и MATLAB, часто используют программы Maxima и scilab, существенно уступающие своим коммерческим лицензионным конкурентам (как это обычно и бывает). Определенный интерес может представлять такая свободно распространяемая программа компьютерной математики, как GNU Octave. Ее возможности в решении задач математического программирования шире, чем у Maxima, scilab и OpenOffice.org Calc, а документация по Octave вполне удобочитаема и подробна. Отметим наличие в Octave основных финансовых функций, активно используемых в финансовой математике и финансовом анализе; это позволяет в ряде случаев сравнивать результаты расчетов в Octave и OpenOffice.org Calc. Несмотря на примитивизм интерфейса Octave и даже некоторую неустойчивость в работе, к Octave можно быстро приспособиться и успешно ее использовать, по крайней мере для определенного ограниченного круга задач. Дистрибутив и описание GNU Octave Вы можете получить легально и бесплатно на сайтах http://www.octave.org http://www.gnu.org/software/octave/ или по адресу http://freestatistics.altervista.org/click/fclick.php?fid=48 или там, где найдете (также легально и бесплатно). Ниже дано беглое введение в систему GNU Octave и описано применение Octave к решению некоторых простых задач учебного характера, связанных с математическим программированием и финансовой математикой. 3
Стр.3
и построим график командой octave.exe:1> t = -10:0.1:10; octave.exe:2> plot (t, sin(t)); – эта команда откроет графическое окно, в котором и покажет нам график. Заметим, что передвигая курсор этого окна, мы можем в левом нижнем углу графического окна видеть абсциссы и ординаты различных точек на графике. Для численного уточнения корня применим функцию fsolve .. Для этого сначала зададим функцию y = f(x) octave.exe:3>function y = f (x) y=sin(x) endfunction а затем уточним начальное приближение (скажем, 3.0) к корню octave.exe:4>[x, info] = fsolve (@f, [3.0]) Octave сообщит нам о том, что корень найден, выдав info = 1 Командой octave.exe:5> x, получим x = 3.1416 Рассмотрим теперь несколько более сложное уравнение x3-5sin(3x)=0. Командами Ясно, что вне промежутка [-2,2] корней у этого уравнения нет. octave.exe:6>t=-2:0.1:2; octave.exe:7>plot (t, t.*t.*t.-5*sin(3*t)); построим график левой части уравнения на промежутке [-2,2]. Кроме очевидного корня x=0 на графике видна пара симметричных относительно нуля корней, приближенно равных –1 и 1. Зададим функцию g командой octave.exe:6>function y = g(x) y=x^3-5*sin(3*x) endfunction и уточним начальные приближения командами octave.exe:7>[x, info] = fsolve (@g, [1]) octave.exe:8>x x=0.98341 что даст нам и что даст нам octave.exe:9>[x, info] = fsolve (@g, [-1]) octave.exe:10>x x=-0.98341 6
Стр.6
РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Рассмотрим следующую программирования: max{3x-4y} x >= 0 y >= 0 x+y <=1 Решим ее численно с помощью доступной в Octave функции glpk из GNU GLPK library. Для этого зададим вектор коэффициентов целевой функции командой octave:1> C = [3,-4]' и параметр s = –1, что означает максимизацию, командой octave:2> s = -1; (Обратите внимание на символ транспонирования ‘ ) Ограничения x >= 0 , y >= 0 зададим командой octave:3> lb = [0,0]'; означающей, что обе переменные ограничены снизу нулем, и командой octave:4> ub = []; означающей, что обе переменные формально не ограничены сверху. (Симвод l в команде lb = [0,0]'; – это, конечно строчная буква, соответствующая заглавной L – от lower bounds – нижние границы, а отнюдь не единица.) Для учета ограничения x+y <=1 зададим матрицу A и вектор B командами octave:5>A= [1,1] octave:6>B= [1] а также зададим параметр ctype = "U" командой octave:7>ctype = "U"; что означает знак "<=" в ограничении, которое задается с помощью A и B в данном случае. Команда octave:8>vartype="CC"; указывает, что обе переменные непрерывны (не дискретны). Далее зададим нормальный уровень вывода командой octave:9> param.msglev = 2; и ограничим количество шагов симплекс-метода величиной 100 с помощью команды octave:10> param.itlim = 100; Теперь запустим функцию glpk командой octave:11>[xmin, fmin, status, extra] = ... glpk (C, A, B, lb, ub, ctype, vartype, s, param); 7 несложную задачу линейного
Стр.7
Многоточие “…” здесь обозначает, что команда продолжается на следующей строке. В качестве результата получаем среди прочего значение целевой функции в точке максимума objval = 3.000000000e+000 и саму точку максимума xmin = 1 0 Рассмотрим теперь следующую задачу линейного программирования; она получена из примера, приведенного на листе «График занятости» файла SOLVSAMP.xls из пакета Microsoft Office. min { x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)} x(2)+x(3)+x(4)+x(5)+x(6) >= 22 x(3)+x(4)+x(5)+x(6)+x(7) >= 17 x(1)+x(4)+x(5)+x(6)+x(7) >= 13 x(1)+x(2)+x(5)+x(6)+x(7) >= 14 x(1)+x(2)+x(3)+x(6)+x(7) >= 15 x(1)+x(2)+x(3)+x(4)+x(7) >= 18 x(1)+x(2)+x(3)+x(4)+x(5) >= 24 x(i) целые x(i) >= 0 Решим ее численно с помощью доступной в Octave функции glpk из GNU GLPK library. Для этого зададим вектор коэффициентов целевой функции командой octave:1> c = [1, 1, 1,1,1, 1,1]'; и параметр s = 1, что означает минимизацию, командой octave:2> s = 1; Ограничения x(i) >= 0 зададим командой octave:3> lb = [0, 0, 0,0, 0, 0,0]'; означающей, что все переменные ограничены снизу нулем, и командой octave:4> ub = []; означающей, что все переменные формально не ограничены сверху. Команда octave:5> vartype = "IIIIIII" указывает, что все перемен-ные – целые. (Здесь символ I –заглавная буква, соответствующая строчной i ). Для учета оставшихся ограничений зададим матрицу a и вектор b командами octave:6> a = [ 0,1,1, 1, 1,1,0; 0,0,1, 1, 1,1,1; 1,0,0, 1, 1,1,1; 1,1,0, 0, 1,1,1; 1,1,1, 0,0,1,1; 8
Стр.8