Система компьютерной математики Марlе в задачах теории автоматического управления
Программирование вычислительных задач и математических моделей. Реализация техники имитационного и ситуационного моделирования, численных и матричных расчетов. Правила написания объектов и особенности синтаксиса. Построение математических графиков.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 22.07.2015 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Графики обычно (хотя и не всегда) строятся сразу в достаточно приемлемом виде. Это достигается тем, что многие параметры задаются по умолчанию и пользователь, по крайней мере, начинающий, может о них ничего не знать. Однако язык общения и программирования Марlе позволяет задавать управляющие параметры и в явном виде.
Для двумерной графика возможны следующие параметры:
adaptive -- включение адаптивного алгоритма построения графиков (детали см. ниже).
axes -- вывод различных типов координат.
axes=NORMAL -- обычные оси, выводятся по умолчанию,
axes=BOXES -- график заключается в рамку с осями-шкалами,
axes=FRAME -- оси в виде перекрещенных линий,
axes=NONE -- оси не выводятся.
axesfont -- задание шрифтов для подписи делений на координатных осях (см. также параметр font).
color -- задает цвет кривых (см. далее).
coords -- задание типа координатной системы (см. далее).
discont -- задает построение непрерывного графика (значения true или false).
filled -- при filled=true задает окраску цветом, заданным параметром color, для области, ограниченной построенной линией и горизонтальной координатной осью .
font -- задание шрифта в виде [семейство, стиль, размер].
labels -- задание надписей по координатным осям в виде , где и -- надписи по осям и графика.
labeldirections -- задает направление надписей по осям , где и может иметь строковые значения HORISONTAL (горизонтально) и VERTICAL (вертикально).
labelfont -- задает тип шрифта метод (см. font).
legend -- задает вывод легенды (обозначения кривых).
linestyle -- задание стиля линий
1 -- сплошная,
2 -- точками,
3 -- пунктиром,
4 -- штрихпунктиром.
numpoinnts -- задает минимальное количество точек на графике (по умолчанию numpoinnts = 49).
resolutions -- задает горизонтальное разрешение устройства вывода (по умолчанию resolutions=200, параметр используется при отключенном адаптивном методе построения графиков);
sample -- задает список параметров для предварительного представления кривых.
scaling -- задает масштаб графика: CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый -- по умолчанию).
size -- задает размер шрифта в пунктах.
style -- задает стиль построения графика (POINT -- точечный, LINE -- линиями).
symbol -- задает вид символа для точек графика (возможны значения BOX -- прямоугольник, CROSS -- крест, CIRCLE -- окружность, POINT -- точка, DIAMOND -- ромб);
symbolsize -- установка размеров символов для точек графика (в пунктах, по умолчанию 10).
title -- задает построение заголовка графика (title=”string”, где string -- строка).
titlefont -- определяет шрифт для заголовка (см. font).
thickness -- определяет толщину линий графиков (0, 1, 2, 3, значение по умолчанию -- 0).
view= -- определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, , (по умолчанию отображается вся кривая).
xtickmarks -- задает минимальное число отметок по оси .
ytickmarks -- задает минимальное число отметок по оси .
В основном задание параметров особых трудностей не вызывает, за исключением задания титульной надписи с выбором шрифтов по умолчанию -- в этом случае не всегда поддерживается вывод символов кириллицы (русского языка). Подбором подходящего шрифта эту проблему удается решить. Модификация графиков с помощью управляющих параметров подробно рассматривается ниже.
Специальный параметр adaptive задает работу специального адаптивного алгоритма для построения графиков наилучшего вида. При этом Марlее автоматически учитывает кривизну изменения графика и увеличивает число отрезков прямых в тех частях графиков, где их ход заметно отличается от интерполирующей прямой. При задании adaptive=false адаптивный алгоритм построения графиков отключается, а при adaptive=true включается (значение по умолчанию).
Замечено, что при больших Digits:=301 (и выше) функция plot дает ошибочное построение графиков даже простых функций.
19. Задание координатных систем двумерных графиков
В версии Марlе параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию используется прямоугольная (декартова) система координат (coords = cartesian). При использовании других координатных систем координаты точек для них преобразуются в координаты как . Ниже приведены наименования систем
Так, например, для построения графика функции в полярной системе координат необходимо параметру cords присвоить значение polar, то есть coords = polar. При этом преобразование координат происходит по формулам
, .
Управление стилем, цветом и толщиной линий двумерных графиков.
Марlе позволяет воспроизводить на одном графике множество кривых с разным стилем, который задается параметром style:
* POINT или point -- график выводится по точкам;
* LINE или line -- график выводится линией.
Если задано построение графика точками, то параметр symbol позволяет представить точки в виде различных символов, например прямоугольников, крестов, окружностей или ромбов. Другой параметр -- color -- позволяет использовать обширный набор цветов линий графиков:
aquamarine -- аквамарин
black -- черный
blue -- синий
navy -- флот
coral -- коралл
cyan -- циан
brown -- коричневый цвет
gold -- золото
green -- зеленый
gray -- серый
pink -- розовый
plum -- слива
red -- красный
turquoise -- бирюзовый
yellow -- желтый
Различные цветовые оттенки получаются использованием RGB -- комбинаций базовых цветов: red -- красный, green -- зеленый, blue -- синий.
Следующий пример иллюстрирует изменение цвета и толщины линии графика функции
.
> plot(sin(x)/x,x=-4*Pi..4*Pi,color=black,thickness=2);
Следующий пример иллюстрирует изменение цвета, толщины и стиля линии графика функции
.
> plot(sin(x)/x,x=-4*Pi..4*Pi,color=blue,thickness=2,style=point);
Управление диапазоном изменения переменной и значения функции.
Для управления отображаемой на графике области служит задание диапазонов принимаемых значений для переменной и функции. Для указания диапазона изменения переменной var используется выражение var = expr1..expr2, где expr1 задает левую границу диапазона изменения var, а expr2 -- правую границу.
В ряде случаев указания на диапазоны можно не применять, тогда Марlе автоматически задает приемлемые диапазоны. Однако их явное указание позволяет управлять областью графика вручную. Иногда соответствующее задание диапазонов случайно или целенаправленно ведет к отсечению части графика -- например
> plot(sin(x)/x,x=-4*Pi..4*Pi,y=0..0.5,color=black,thickness=2);
Сравните ранее построенный график функции
.
Здесь выбран диапазон изменения по координате от до .
Правильный выбор диапазонов повышает представительность графиков функций. Рекомендуется вначале пробовать строить графики с автоматическим выбором диапазонов, а уже затем указывать их вручную.
Графики функций, заданных в параметрическом виде
В ряде случаев для задания функциональных зависимостей используются заданные параметрической форме уравнения, например
и
при изменении переменной в некоторых пределах. Точки наносятся на график в декартовой системе координат и соединяются отрезками прямых. Для этого используется функция plot в следующей форме
plot( [ f1(t) , f2(t) , tmin .. tmax , ] , h , v , p )
Если функции и содержат периодические функции (например тригонометрические), то для получения замкнутых фигур диапазон изменения переменной обычно задается равным или .
Задание диапазонов для изменений h и v, а также параметров p не обязательно. Но, как и ранее, они позволяют получить вид графика, удовлетворяющий всем требованиям пользователя.
Ниже приводятся примеры построения графиков функций, заданных в параметрической форме.
> plot([2*sin(t),cos(t),t=0..2*Pi],color=black,thickness=2);
В этом примере представлен график функции
, ,
которая представляет собой уравнение эллипса, записанное в параметрической форме. Полуоси эллипса соответственно равны и . На представленном рисунке эллипс изображен как окружность. Это вызвано тем, что команда построения графика по умолчанию автоматически выбирает масштабы по координатным осям. Чтобы избежать этого можно использовать опцию scaling.
> plot([2*sin(t),cos(t),t=0..2*Pi],color=black,thickness=2,scaling=constrained);
Построение графика астроиды , .
> plot([cos(t)^3,sin(t)^3,t=0..2*Pi],color=black,thickness=2);
Построение графика функции , .
> plot([cos(t^2),sin(t^3),t=-2..2],color=black,thickness=2);
20. Графики функций в полярной системе координат
Графики в полярной системе координат представляют собой линии, которые описывает конец радиус-вектора при изменении угла в определенных пределах -- от до . Построение таких графиков также производится функцией plot, которая для этого записывается в следующем виде
plot( [r(t) , theta(t) , t=tmin .. tmax] , h , v , p , cords=polar )
Здесь существенным моментом является задание полярной системы координат cords=polar.
Ниже приводятся примеры построения графиков функций в полярной системе координат.
> plot([sin(phi),phi,phi=0..2*Pi],color=black,thickness=2,coords=polar);
> plot([sin(4*phi),phi,phi=0..2*Pi],color=black,thickness=2,coords=polar);
> plot([2*sin(3*phi),phi,phi=0..2*Pi],color=black,thickness=2,coords=polar);
> s := t->100/(100+(t-Pi/2)^8): r := t -> s(t)*(2-sin(7*t)-cos(30*t)/2):
plot([r(t),t,t=-Pi/2..3/2*Pi],numpoints=2000,coords=polar,axes=none,color=black,thickness=2);
21. Графики функций с разрывами
Как известно, функция может иметь в точке разрывы двух видов: первого рода, когда в этой точке конечный скачек в ее значении, и второго рода, когда значение функции при стремлении независимой переменной к заданной точке стремится к плюс или минус бесконечности. Функции, имеющие разрывы только первого рода называются кусочно-непрерывными. Maple умеет работать с разрывными функциями, имеющие разрывы любого рода.
Некоторые функции, например , имеют при определенных значениях разрывы, причем случается, что значения функции в этом месте устремляются в бесконечность. Функция , к примеру, в точках разрывов устремляется к и . Построение графиков таких функций нередко дает плохо предсказуемые результаты. Графический процессор Марlе не всегда в состоянии определить оптимальный диапазон по оси ординат, а график функции выглядит весьма непредставительно.
> plot(ln(1+tan(x)),x=-10..10,color=black,thickness=2);
Среди аргументов функции plot есть специальный параметр discont. Если задать его значение равным true, то качество графиков существенно улучшается.
> plot(ln(1+tan(x)),x=-10..10,color=black,thickness=2,discont=true);
Улучшение достигается разбиением графика на несколько участков, на которых функция непрерывна, и более тщательным контролем за отображаемым диапазоном. При discont=false данный параметр отключен и строятся обычные графики.
Следует отметить, что вид графика можно улучшить, просто задав диапазон по оси у (например, введя в параметры функции запись у = -10 .. 10). При этом в точках разрыва могут появиться вертикальные линии. Впрочем, иногда это бывает полезно.
Построение графика функции
Отметим следующее. Чтобы получить приемлемое изображение заданной функции было введены пределы изменения функции от -1 до10.
> plot((x^2-1)/(x^2-5*x+6),x=-10..20,y=-1..10,color=black,thickness=2, discont=true);
Для построения графиков кусочно-непрерывных функций можно использовать процедуры пользователя. Ниже приводится пример построения графика функции
.
> Z:=proc(x) if x>2 then 6-x else x^2 fi end;
> plot(Z,-2..7,color=black,thickness=2);
Для задания кусочно-непрерывных функций следует использовать команду piecewise() со следующим синтаксисом
piecewise(условие1,значение1,условие2,значение2, . . . ,
условиеn, значениеn,знчение=иначе);
Параметры этой команды идут парами и определяют интервал изменения независимой переменной в виде булева выражения условиеn и значение функции на этом интервале значениеn, которое является выражением от независимой переменной.
Построение графика функции
с помощью команды piecewise() приведено ниже
> f:=x->piecewise(x<=2,x^2,6-x);
> plot(f(x),x=-2..7,color=black,thickness=2);
Построение графика функции
> f1:=x->piecewise(x<=1,-1,1<x and x<2,x^2,3);
> plot(f1(x),x=0..3,color=black,thickness=2);
Графики функций с разрывами второго рода следует строить с обязательным заданием интервала изменения ее значений.
22. Графический пакет plots
Пакет plots содержит почти полсотни графических функций, существенно расширяющих возможности построения двумерных и трехмерных графиков в Марlе. Вызов пакета осуществляется командой
with(plots); или with(plots):
Ввиду важности этого пакета отметим назначение некоторых, наиболее употребительных, его функций:
complexplot -- построение двумерного графика на комплексной плоскости;
coordplot -- построение координатной системы двумерных графиков;
cylinderplot -- построение графика поверхности в цилиндрических координатах;
densityplot -- построение графика двумерного векторного поля;
fildplot -- построение графика двумерного векторного поля градиента;
implicitplot -- построение двумерного графика неявной функции;
inequal -- построение графика решения системы неравенств;
loglogplot -- построение логарифмического двумерного графика функции;
logplot -- построение полулогарифмического двумерного графика функции;
odeplot -- построение двумерного или трехмерного графика решения дифференциальных уравнений;
polarplot -- построение графика двумерной кривой в полярной системе координат;
replot -- перестроение графика заново;
rootlot -- построение графика корней уравнения с комплексными неизвестными;
semilogplot -- построение графика функции с логарифмическим масштабом по оси абцисс;
textplot -- вывод текста на заданное место двумерного графика;
Графики функций в полярной системе координат -- polarplot
В пакете plots есть функция для построения двумерных графиков в полярной системе координат. Она имеет вид
polarplot(L , o) ,
где L -- объекты для задания функции, график которой строится, и o -- необязательные параметры.
Ниже приводятся примеры построения графиков в полярной системе координат.
> with(plots);
> polarplot([cos(t),sin(t),t=0..4*Pi],color=black,thickness=2);
> polarplot({t,[2*cos(t),sin(t),t=-Pi..Pi]},t=-Pi..Pi,color=[black,red], thickness=2);
> polarplot([t*sin(t)+cos(t),sin(t)-t*cos(t),t=0..2.6*Pi/3],color=black, thickness=2)
Построение графиков функций, заданных в неявном виде
В математике часто встречается особый тип задания геометрических фигур, при котором переменные и связаны неявной зависимостью. Например, окружность задается выражением
,
где -- радиус окружности. Для задания двумерного графика такого вида служит функция импликативной графики implicitplot.
Ниже приводятся примеры построения графиков неявно заданных функций.
> implicitplot(x^2+y^2=9,x=-Pi..Pi,y=-Pi..Pi,color=black,thickness=2);
> p:= proc(x,y) if x<y then x^2+y^2-2 else 2*x-y-1 end if end proc:
implicitplot(p, -2..2, -1..3,color=black,thickness=2);
> implicitplot(r=1-cos(theta), r=0..2, theta=0..2*Pi, color=black,thickness=2,coords=polar);
> implicitplot([x^2-y^2=1, y=exp(x)], x=-Pi..Pi, y=-Pi..Pi,color=[black,red], thickness=2);
23. Решение алгебраических уравнений
Основная функция solve
Практически ни одна математическая задача не обходится без решения какого-нибудь уравнения или системы уравнений, неравенства или системы неравенств. Команда solve системы Марlе является универсальным средством, позволяющим решать алгебраические уравнения и их системы уравнений. Но прежде чем перейти к синтаксису этой команды, следует еще немного остановиться на тех объектах, с которыми эта команда работает, -- на уравнениях.
Как мы уже определили ранее, два выражения, соединенные знаком равенства (=), представляют самостоятельный тип данных Марlе -- уравнение. Уравнения можно присваивать обычным переменным Марlе, с ними можно осуществлять преобразования, используя обычные арифметические действия, которые выполняются отдельно для левой и правой частей уравнений. Эти действия позволяют преобразовать уравнения к виду, удобному для использования, а иногда и облегчающему Марlе поиск решения.
Команда solve одна из самых полезных команд системы аналитических вычислений Марlе, позволяющая решать уравнения и системы уравнений, неравенства и системы неравенств. Это достаточно универсальная и гибкая функция. Она всегда пытается найти замкнутое решение в аналитической форме. Ее синтаксис, как и синтаксис всех команд Марlе, достаточно прост и легко запоминается.
solve ( eqn, var )
solve ( { eqn1, eqn2, … }, { var1, var2, … } )
где eqn -- уравнение, содержащее функцию ряда переменных, var -- переменная, по которой ищется решение. Если при записи eqn не используются знак равенства или знаки отношения, считается, что solve ищет корни уравнения eqn=0. Если eqn полином, то solve вычисляет все корни полинома -- как действительные, так и комплексные.
Первая форма команды предназначена для решения одного уравнения относительно заданной переменной, тогда как вторая форма позволяет решать системы уравнений относительно переменных, заданных вторым параметром. Обратим внимание на то, что система уравнений и ее неизвестные переменные задаются в виде множеств. Результатом в этом случае является также множество значений неизвестных в виде уравнений, тогда как в случае задания одного уравнения результатом будет выражение (в случае одного корня уравнения) или последовательность выражений (в случае нескольких корней). Если не задана переменная/переменные, относительно которых следует решать уравнение/систему уравнений, то Марlе выдаст все решения относительно всех неопределенных переменных в исходных уравнениях. Если вместо уравнения задано выражение с неизвестными, то оно рассматривается как левая часть уравнения, тогда как правая часть предполагается равной 0.
Функция solve старается дать решение в аналитическом виде. Это не означает, что ее нельзя использовать для получения корней уравнений в численном виде. Просто для этого придется использовать функции evalf или convert.
Когда Марlе не может найти ни одного решения, то команда solve возвращает пустую последовательность NULL. Это означает, что либо решения не существует, либо Марlе не удалось его найти.
Следующие два примера иллюстрируют две возможности решения с помощью команды solve уравнения
.
> solve(x^4-5*x^2+6*x=2,x);
> eq := x^4-5*x^2+6*x=2;
> solve(eq,x);
В следующем примере знак равенства нулю левой части уравнения опущен. Решается уравнение
.
> solve(x^3+11*x^2+31*x+21,x);
Уравнение
с помощью команды solve можно решить следующим образом. Запишем исходное уравнение в виде
,
где , , . Тогда программа решения исходного уравнения будет
> a1:=11;
> a2:=31;
> a3:=21;
> solve(x^3+a1*x^2+a2*x+a3,x);
Следующие два примера иллюстрируют применение команды evalf для изменения формата вывода результата решений уравнений.
Решается уравнение
> solve(x^(3/2)=3,x);
> evalf(%);
Решается уравнение
> solve(sqrt(ln(x))=2,x);
> evalf(%);
Решается уравнение
.
> solve(sqrt(2*x-6)+sqrt(x+4)=4,x);
> evalf(%);
Решается уравнение
.
> solve(2*x^2+x+6=0,x);
> evalf(%);
Данное уравнение имеет комплексно-сопряженные корни.
Некоторые даже с виду простые уравнения могут дать неожиданные для многих пользователей результаты. Пример такого рода приведен ниже. Решается уравнение
.
> restart;
> eq:=exp(-x)=x;
> sol:=solve(exp(-x)=x,x);
> evalf(sol);
В данном случае решение получено через значение специальной функции Ламберта. Впрочем, с помощью специальной функции evalf его можно представить в численном виде.
Особо отметим решение с помощью команды solve тригонометрических уравнений. По умолчанию Марlе решает их на промежутке . Для получения всех решений тригонометрических уравнений следует задать значение глобальной переменной _EnvAllSolutions равным true. Следующий пример иллюстрирует использование глобальной переменной _EnvAllSolutions.
> eq:=sin(x)=1/2;
> s:=solve(eq,x);
> _EnvAllSolutions:=true;
> s:=solve(eq,x);
Как видно, в случае _EnvAllSolutions Марlе действительно строит все решения тригонометрического уравнения с использованием целочисленной системной переменной _Z1~, в которой знак тильда (~) означает, что на значения переменной наложены некоторые ограничения. В данном случае эта переменная может принимать только целочисленные значения. Подобные переменные используются Марlе для представления всех решений тригонометрических уравнений. Префикс _Z1 в имени переменной, сгенерированной Марlе, служит указанием того, что эта переменная может принимать только целые значения. Кроме указанных переменных, так же используются переменные с префиксом _NN , принимающие неотрицательные целые значения, и префиксом _B _в, для представления переменных с двоичной областью значений (0 или 1).
Решение любого трансцендентного уравнения, в том числе и тригонометрического, достаточно сложная и серьезная проблема для систем аналитически вычислений. Иногда простое трансцендентное уравнение может и не решаться в Марlе, В таких случаях следует всегда помнить о том, что Марlе использует алгоритмический подход для решения уравнений, и, возможно, ему следует помочь, сделав кое-какие не стандартные преобразования уравнения, приведя его к другому виду.
Решается уравнение
> restart;
> f1:=sin(x);
> f2:=cos(x)-1;
> plot([f1,f2],x=-15..15,color=[black,red],thickness=2);
> solve(f1=f2,x);
> evalf(%);
> _EnvAllSolutions:=true;
> solve(f1=f2,x);
Решение этого примера дано в графическом виде и в аналитическом для двух случаев -- нахождение главных значений корней и нахождения всех корней.
По умолчанию Марlе пытается найти аналитическое выражение для корней уравнения. Если это ему не удается, то, как отмечалось выше, он просто ничего не печатает в области вывода. В подобных случаях (если корни действительно существуют) можно воспользоваться командой fsolve, которая находит численное решение уравнения или системы уравнений. Формат команды отличается от формата команды solve наличием третьего параметра opc. Синтаксис команды fsolve:
fsolve ( eqn, var , opc )
Задание первых двух параметров соответствует заданию аналогичных параметров в команде solve, а параметр opc может принимать следующие значения:
сomplex -- Разыскиваются комплексные корни (только для полиномов).
Fulldigits -- Используется арифметика с максимальной мантиссой.
Maxsols=n -- Разыскивается n решений (только для полиномов).
a .. b или x = a .. b -- Задан промежуток , на котором разыскивается решение (во второй форме задания этой опции x обозначает имя неизвестной переменной в уравнении).
По умолчанию для произвольного уравнения эта функция находит одно решение, но для полиномов определяются все действительные корни. Чтобы найти все корни полинома, включая комплексные, следует задать опцию сomplex.
При решении алгебраических нелинейных уравнений с помощью команды fsolve рекомендуется сначала провести предварительные исследования для определения числа корней уравнения и диапазона изменения неизвестной x, где находятся решения заданного уравнения. Эти исследования проще всего проводить с помощью построения соответствующих графиков.
Решение уравнения , где
.
> R:=0.4;
> q:=a->piecewise(a<=1.0,0,(4.0/(Pi*a))*(sqrt(1-(1.0/a)^2)));
> plot([q(a),R],a=0..4,color=[black,red],thickness=2);
> a2:=fsolve(q(a)-R=0,a,a=2..4);
> a1:=fsolve(q(a)-R=0,a,a=1.0001..2);
Графическое решение заданного уравнения показало, что имеются два решения. Первое решение уравнения находится в окрестности единице, а второе -- в окрестности трех. Точные решения заданного уравнения были найдены с помощью команды fsolve.
Когда мы вручную решаем уравнения или системы уравнений, то после получения ответа мы всегда осуществляем проверку полученного решения, подставляя его в исходное уравнение или систему. Точно также следует поступать и при работе в Марlе.
Часто бывает удобно представлять уравнение и его решение в виде отдельных объектов, отождествленных с определенной переменной. В частности, это позволяет легко проверить решение (даже если оно не одно) подстановкой subs.
Решение уравнения
и проверка найденных решений.
> eq:={2*x^2+x+3=0};
> s:=[solve(eq,x)];
> subs(x=s[1],eq);
> subs(x=s[2],eq);
Функция solve может использоваться для решения систем нелинейных, линейных и трансцендентных уравнений. Для этого система уравнений и перечень неизвестных задаются в виде множеств, то есть в фигурных скобках.
24. Решение системы уравнений
, .
> restart;
> s:=solve({x*y=2,x+y=3},{x,y});
Решение системы уравнений
, , .
> eqs:={2*x*y=1,x+z=0,2*x-3*z=2};
> solve(eqs,{x,y,z});
Решение системы уравнений
, , .
> eqs1:={x+y+z=6,
> x^2+y^2+z^2=14,
> x^3+y^3+z^3=36};
> solve(eqs1,{x,y,z});
Решение системы уравнений
,
и проверка найденных решений с помощью команд eval, subs, map.
> eqs2:={2*x+4*y=6,y+1/x=1};
> r:=solve(eqs2,{x,y});
> eval(eqs2,r[1]);
> eval(eqs2,r[2]);
> map(subs,[r],eqs2);
Марlе содержит мощные матричные методы для решения систем линейных уравнений. Однако функция solve также может успешно решать системы линейных уравнений. Такое решение в силу простоты записи функции может быть предпочтительным. Для решения система уравнений и перечень неизвестных задаются в виде множеств (см. приведенный ниже пример):
> eq1:=a*x+b*y=e; eq2:=c*x+d*y=f;
> solve({eq1,eq2},{x,y});
В данном случае решение системы из двух линейных уравнений представлено в символьном (аналитическом) виде.
Решение системы уравнений
,
> with(plots):
Warning, the name changecoords has been redefined
> sys:={3*x+5*y=15, y=x-1};
> solve(sys,{x,y});
> implicitplot(sys,x=-10..10,y=-10..10,color=black,thickness=2);
Импликативная графика пакета расширения plots дает прекрасную возможность проиллюстрировать решение. Так, нетрудно заметить, что в этом случае геометрическая трактовка решения сводится к нахождению точки пересечения двух прямых, отображающих два уравнения. При этом имеется единственное решение, дающее значения
, .
Решение системы уравнений
, .
> sys1:={5*x+3*y=30, 10*x+6*y=-30};
> solve(sys1,{x,y});
> implicitplot(sys1,x=-10..10,y=-10..10,color=black,thickness=2);
Данная система линейных уравнений решения не имеет. Геометрическая интерпретация этой системы уравнений -- уравнения задают параллельно расположенные прямые, которые никогда не пересекаются.
Команда solve может решать неопределенные системы уравнений, в которых количество уравнений меньше числа неизвестных. В этом случае система Марlе сама решает, какие из неизвестных принять за параметры, а какие за неизвестные, относительно которых следует строить решение.
Решение системы уравнений
,
> eq1:=x+2*y+3*z+4*t=41;
> eq2:=5*x+5*y+4*z+3*t=20;
> sols:=solve({eq1,eq2});
Здесь решение получено в параметрической форме относительно неизвестных и , которые выбраны системой. Можно явно указать, относительно каких неизвестных следует решать систему уравнений, тогда оставшиеся будут рассматриваться как параметры.
Решение системы уравнений
, .
> eq1:=x+2*y+3*z+4*t=41;
> eq2:=5*x+5*y+4*z+3*t=20;
> sols:=solve({eq1,eq2},{y,z});
В этом решении явно указаны неизвестные и , и полученное решение зависит от двух параметров и .
С помощью функции eval можно вычислить значения решения при конкретных значениях параметров.
> eval(sols,{x=1,t=1});
Для того, чтобы получить решение в виде функции от двух переменных, следует воспользоваться командой unapply, которая преобразует выражение в функцию. Первым параметром задается само выражение, а последующие определяют, от каких переменных эта функция будет зависеть.
> y1:=unapply(eval(y,sols),x,t);
> z1:=unapply(eval(z,sols),x,t);
25. Обыкновенные дифференциальные уравнения
Уравнения, которые, кроме неизвестных функций одного или нескольких переменных, содержат также их производные, называются дифференциальными. Дифференциальные уравнения называются обыкновенными, если неизвестные функции являются функциями одного переменного. В дальнейшем мы будем рассматривать только обыкновенные дифференциальные уравнения. Независимую переменную будем понимать как время, так как дифференциальные уравнения рассматриваются нами применительно к автоматическим системам, а переменные, описывающие их поведение, являются функциями времени.
Линейное дифференциальное уравнение -ого порядка с постоянными коэффициентами называется уравнение вида
, (1)
где - искомая функция времени определенная на интервале времени ; , , , - постоянные коэффициенты; - правая часть дифференциального уравнения, известная функция времени , которая определенна на интервале времени ; - правая граница интервала времени интегрирования дифференциального уравнения (1) или, что то же самое уравнения (1), на котором определено решение исходного дифференциального уравнения. Уравнение (1) - это дифференциальное уравнение -ого порядка относительно неизвестной функции .
Если правая часть уравнения (1) равна нулю на всем интервале , то есть , то такое уравнение называется однородным и имеет вид
, (2)
Далее будем предполагать, что для уравнений (1) или (2) заданы начальные условия
, , . (3)
Решение неоднородного дифференциального уравнения можно представить следующим образом
, (4)
где - общее решение однородного дифференциального уравнения (3), которое зависит от постоянных интегрирования , , … , ; - одно из частных решений неоднородного дифференциального уравнения (1).
Всякая система из линейно-независимых решений , , … , уравнения (2) является фундаментальной системой и общим решением уравнения (2) будет
. (5)
Если , , … , - корни характеристического уравнения
, (6)
которое соответствует дифференциальному уравнению (2), то фундаментальная система решений запишется следующим образом
, , … , , (7)
а равенство (5) принимает вид
. (8)
Рассмотрим линейное однородное дифференциальное уравнение второго порядка
. (9)
Характеристическое уравнение, которое соответствует дифференциальному уравнению (9), имеет вид
. (10)
Пусть далее и - корни уравнения (10). Если и - действительные и различные, то общее решение дифференциального уравнения (9) запишется следующим образом
. (11)
Если и - действительные и (корни кратные), то общее решение дифференциального уравнения (9) запишется следующим образом
. (12)
Если и - комплексно-сопряженные
(),
то общее решение дифференциального уравнения (9) запишется следующим образом
. (13)
Пусть теперь для дифференциального уравнения (10) заданы начальные условия
, (14)
и пусть найдено общее решение дифференциального уравнения (9)
.
Тогда, если определить постоянные интегрирования и , из системы алгебраических уравнений
, (15)
и подставить найденные значения постоянных интегрирования в равенство
,
то получим частное решение линейного однородного дифференциального уравнения (9), которое удовлетворяет заданным начальным условиям (14).
При решении линейных неоднородных уравнений с постоянными коэффициентами во многих случаях удается подобрать частные решения и тем самым свести задачу к интегрированию соответствующего однородного уравнения. Рассмотрим наиболее важные для дальнейшего методы нахождения частных решений неоднородных линейных дифференциальных уравнений с постоянными коэффициентами.
Пусть правая часть уравнения (1) является полиномом степени независимой переменной , то есть
, (16)
где , , … , - постоянные коэффициенты. Тогда частное решение неоднородного дифференциального уравнения (1) нужно искать в виде полинома степени независимой переменной , то есть
, (17)
где коэффициенты , , … , подлежат определению. Для их определения необходимо подставить (17) в дифференциальное уравнение (1), а затем приравнять выражения при одинаковых степенях независимой переменной , стоящие в правой и левой частях полученного выражения. В результате чего получается система линейных алгебраических уравнений относительно искомых коэффициентов , , … , .
Пусть правая часть уравнения (1) имеет вид
, (18)
где , - постоянные коэффициенты. Тогда частное решение неоднородного дифференциального уравнения (1) нужно искать в виде
, (19)
где коэффициенты , подлежат определению. Для их определения необходимо подставить (19) в дифференциальное уравнение (1), а затем приравнять выражения при и , стоящие в правой и левой частях полученного выражения. В результате чего получается система линейных алгебраических уравнений относительно искомых коэффициентов , .
Обратимся вновь к дифференциальному уравнению (1). Введем в рассмотрение новые переменные:
, , … , . (20)
Тогда в новых переменных уравнение (1) преобразуется к системе дифференциальных уравнений, каждое из которых является уравнением первого порядка (система дифференциальных уравнений в нормальной форме Коши):
,
,
, (21)
Переменные , … , называются переменными состояния системы управления или ее фазовыми переменными. Связь переменных состояния системы с выходной ее переменной задается формулой:
. (22)
Формула (22) приводится для случая ; если то соответствующие коэффициенты в (22) следует положить равными нулю.
В векторно-матричной форме записи уравнений (21) и (22) может быть представлена в виде
,
, (23)
где -символ транспонирования,
;
;
; .
Первое уравнение системы (23) - это уравнение динамики системы автоматического управления относительно переменных состояния, второе уравнение системы (23) - это уравнение выхода системы.
Переход от уравнения (1) к системе уравнений (21) может быть осуществлен различными способами. Это зависит от выбора переменных состояния системы.
В уравнениях (21) и (22) и - входная и выходная переменные системы (скалярные функции времени); - квадратная матрица размера - матрица динамики системы (в общем случае это матрица произвольного вида, ее элементы - действительные числа); и - -мерные вектора, элементы которых постоянные числа; - скаляр (числа); - -мерный вектор, координаты которого - это переменные состояния системы управления.
Решение уравнения относительно переменных состояния системы (23) задается формулой Коши
(24)
где - заданные начальные условия; - матричная экспонента, эта матрица определяется равенством
,
где - единичная матрица:
.
Подставив равенство (24) во второе уравнение системы (23) получим уравнение системы (10) получим уравнение выхода системы в явном виде
. (25)
С помощью пакета прикладных программ символьных вычислений Maple можно получить как аналитическое, так и численное решение обыкновенных дифференциальных уравнений. С помощью Maple можно построить и фазовые портреты систем по заданным дифференциальным уравнениям. Для этой цели можно воспользоваться командой dsolve() или функциями пакета DEtools. Пакет DEtools позволяет выполнить численное интегрирование дифференциальных уравнений и отобразить решения дифференциального уравнения в графическом виде, а так же осуществить построение фазового портрета систем дифференциальных уравнений.
26. Команда dsolve
Марlе позволяет решать одиночные дифференциальные уравнения и системы дифференциальных уравнений как аналитически, так и в численном виде. Разработчиками системы объявлено о существенном расширении средств решения дифференциальных уравнений и о повышении их надежности в смысле нахождения решений для большинства классов дифференциальных уравнений.
Для решения системы простых дифференциальных уравнений (задача Коши) используется функция dsolve в разных формах записи:
dsolve(ODE)
dsolve(ODE, y(x), extra_args)
dsolve({sysODE, ICs}, {funcs}, extra_args)
Здесь ODE -- одно обыкновенное дифференциальное уравнение или система из дифференциальных уравнений первого порядка с указанием начальных условий, y(x) -- функция одной переменной, ICs -- выражение, задающее начальные условия, {sysODE} -- множество дифференциальных уравнений, {funcs} -- множество неопределенных функций, extra_args -- опция, задающая тип решения.
Параметр extra_args задает класс решаемых уравнений. Отметим основные значения этого параметра:
exact -- аналитическое решение (принято по умолчанию);
ехрlicit -- решение в явном виде;
system -- решение системы дифференциальных уравнений;
ICs -- решение системы дифференциальных уравнений с заданными начальными условиями;
formalseries -- решение в форме степенного многочлена;
integraltransform -- решение на основе интегральных преобразований Лапласа, Фурье и др.;
series -- решение в виде ряда с порядком, указанным значением переменной Order;
numerical -- решение в численном виде.
Марlе позволяет решать одиночные дифференциальные уравнения и системы дифференциальных уравнений как аналитически, так и в численном виде. Разработчиками системы объявлено о существенном расширении средств решения дифференциальных уравнений и о повышении их надежности в смысле нахождения решений для большинства классов дифференциальных уравнений.
Для решения системы простых дифференциальных уравнений (задача Коши) используется функция dsolve в разных формах записи:
dsolve(ODE)
dsolve(ODE, y(x), extra_args)
dsolve({sysODE, ICs}, {funcs}, extra_args)
Здесь ODE -- одно обыкновенное дифференциальное уравнение или система из дифференциальных уравнений первого порядка с указанием начальных условий, y(x) -- функция одной переменной, ICs -- выражение, задающее начальные условия, {sysODE} -- множество дифференциальных уравнений, {funcs} -- множество неопределенных функций, extra_args -- опция, задающая тип решения.
Параметр extra_args задает класс решаемых уравнений. Отметим основные значения этого параметра:
exact -- аналитическое решение (принято по умолчанию);
ехрlicit -- решение в явном виде;
system -- решение системы дифференциальных уравнений;
ICs -- решение системы дифференциальных уравнений с заданными начальными условиями;
formalseries -- решение в форме степенного многочлена;
integraltransform -- решение на основе интегральных преобразований Лапласа, Фурье и др.;
series -- решение в виде ряда с порядком, указанным значением переменной Order;
numerical -- решение в численном виде.
Для решения задачи Коши в параметры dsolve надо включать начальные условия, а при решении краевых задач -- краевые условия. Если Марlе способна найти решение при числе начальных или краевых условий меньше порядка системы, то в решении будут появляться неопределенные константы вида_С1, _С2 и т. д. Они же могут быть при аналитическом решении системы, когда начальные условия не заданы. Если решение найдено в неявном виде, то в нем появится параметр _Т. По умолчанию функция dsolve автоматически выбирает наиболее подходящий метод решения дифференциальных уравнений. Однако в параметрах функции dsolve в квадратных скобках можно указать предпочтительный метод решения дифференциальных уравнений. Более полную информацию, о каждом методе можно получить, используя команду ?dsolve, metod.
Ниже приводятся примеры интегрирования обыкновенных дифференциальных уравнений с помощью команды dsolve.
Пример 1.
Найти общее решение линейного однородного дифференциального уравнения
.
Решение. Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению
.
Корни этого уравнения равны
.
Поэтому общим решением данного дифференциального уравнения будет
,
где и -- постоянные интегрирования.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif1:=diff(x(t),t$2)+Omega^2*x(t)=0;
> dsolve(dif1,x(t));
Пример 2.
Найти общее решение линейного неоднородного дифференциального уравнения
,
где .
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению
.
Корни этого уравнения равны
, .
Общее решение линейного дифференциального уравнения имеет вид
,
где и -- постоянные интегрирования.
Частное решение неоднородного уравнения будет
.
Тогда общее решение заданного дифференциального уравнения запишется следующим образом
Или
.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif:=diff(x(t),t$2)+15*diff(x(t),t)+50*x(t)=g;
> dsolve(dif,x(t));
Здесь следует сделать следующее замечание. Полученное с помощью пакета Марlе решение поставленной задачи, отличается от аналитического коэффициентом при постоянной интегрирования . В аналитическом решении этот множитель учитывается в постоянной интегрирования .
Пример 3.
Найти общее решение линейного однородного дифференциального уравнения
.
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению
.
Корни этого уравнения равны , корни характеристического уравнения -- кратные. Поэтому общим решением данного дифференциального уравнения будет
,
где и -- постоянные интегрирования.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif:=diff(x(t),t$2)+2*diff(x(t),t)+x(t)=0;
> dsolve(dif,x(t));
Пример 4.
Заданы однородное дифференциальное уравнение
и начальные условия , .
Найти общее и частное решения заданного дифференциального уравнения.
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению:
.
Определим корни характеристического уравнения:
,
, ,
, .
Корни характеристического уравнения - действительные и различные. Фундаментальная система решений имеет вид
, .
Запишем общее решение линейного дифференциального уравнения:
,
.
Найдем постоянные интегрирования и
,
,
.
Система линейных алгебраических уравнений относительно постоянных интегрирования и будет
,
.
Ее решение
, .
Таким образом, частное решение исходного дифференциального уравнения, которое удовлетворяет заданным начальным условиям имеет вид
.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif4:=diff(x(t),t$2)+3*diff(x(t),t)+2*x(t)=0;
> dsolve(dif4,x(t));
> dsolve({dif4,x(0)=1,D(x)(0)=0},x(t));
Пример 5.
Заданы однородное дифференциальное уравнение
и начальные условия
, .
Найти общее и частное решения заданного дифференциального уравнения.
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению:
.
Определим корни характеристического уравнения:
,
.
Корни характеристического уравнения - комплексно сопряженные. Фундаментальная система решений имеет вид
, .
Так как
,
,
то фундаментальная система решений исходного дифференциального уравнения будет
, .
Запишем общее решение линейного дифференциального уравнения:
,
.
Найдем постоянные интегрирования и
,
.
.
Система линейных алгебраических уравнений относительно постоянных интегрирования и будет
,
.
Ее решение
, .
Следовательно, частное решение исходного дифференциального уравнения равно
,
.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif5:=diff(x(t),t$2)+2*diff(x(t),t)+5*x(t)=0;
> dsolve(dif5,x(t));
> dsolve({dif5,x(0)=0,D(x)(0)=2},x(t));
Пример 6.
Заданы неоднородное дифференциальное уравнение
и начальные условия
, .
Найти общее и частное решения заданного дифференциального уравнения.
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению:
.
Определим корни характеристического уравнения:
.
Фундаментальная система решений имеет вид
, .
Общее решение линейного однородного дифференциального уравнения:
,
.
Частное решение линейного неоднородного дифференциального уравнения будем искать в виде:
,
,
.
Подставим полученные равенства в исходное неоднородное уравнение
.
Приравниваем коэффициенты при одинаковых степенях
;
;
.
Откуда следует, что . Таким образом частное решение линейного неоднородного дифференциального уравнения будет
.
Записываем общее решение исходного линейного неоднородного дифференциального уравнения:
,
.
Находим постоянные интегрирования:
,
,
,
, ,
, .
Частное решение исходного дифференциального уравнения:
.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif6:=diff(x(t),t$2)+x(t)=t^2+t;
> dsolve(dif5,x(t));
> dsolve({dif5,x(0)=1,D(x)(0)=1},x(t));
Пример 7.
Заданы неоднородное дифференциальное уравнение
и начальные условия
, .
Найти общее и частное решения заданного дифференциального уравнения.
Решение.
Запишем характеристическое уравнение, которое соответствует заданному дифференциальному уравнению
.
Определим корни характеристического уравнения:
.
Фундаментальная система решений имеет вид
, .
Общее решение линейного однородного дифференциального уравнения:
,
.
Частное решение линейного неоднородного дифференциального уравнения будем искать в виде:
,
,
.
Подставим полученные равенства в исходное неоднородное уравнение
.
Приравниваем коэффициенты при одинаковых степенях
; ;
, .
Таким образом, частное решение линейного неоднородного дифференциального уравнения будет
.
Записываем общее решение исходного линейного неоднородного дифференциального уравнения:
,
.
Находим постоянные интегрирования:
,
.
,
,
,
, .
Частное решение исходного дифференциального уравнения:
.
С помощью команды dsolve пакета Марlе эту задачу можно решить следующим образом:
> dif7:=diff(x(t),t$2)+4*x(t)=3*sin(t);
> dsolve(dif7,x(t));
> dsolve({dif7,x(0)=1,D(x)(0)=1},x(t));
Мы ознакомились с универсальной командой решения обыкновенных дифференциальных уравнений dsolve. С ее помощью можно получать общее решение дифференциального уравнения или системы дифференциальных уравнений, решать задачи Коши и краевые задачи. Эта команда всегда стремится найти общее решение в аналитическом виде и использовать его для построения решения краевой задачи или задачи Коши. Однако не всегда удается для обыкновенного дифференциального уравнения найти общее решение в замкнутой форме, и более того, существуют дифференциальные уравнения, для которых вообще невозможно построить общее решение в аналитическом виде.
Для некоторых дифференциальных уравнений реализованные в команде dsolve приближенные методы не дают удовлетворительного результата в связи с накоплением погрешности при их использовании. (Мы не будем приводить примеры вычислительной неустойчивости численного решения дифференциального уравнения, но такое действительно случается и достаточно часто в практике моделирования реальных явлений.) В таких случаях приходится либо разрабатывать специальные методы приближенного интегрирования дифференциального уравнения, либо упрощать математическую модель явления, вводя некоторые ограничения, либо пытаться преобразовать дифференциальное уравнение, приведя его к виду, для которого можно построить удовлетворительное приближенное решение.
Пакет DEtools содержит набор команд для преобразования обыкновенных дифференциальных уравнений к специальному виду, для исследования гамильтоновых систем, для применения аппарата алгебр Ли при интегрировании дифференциальных уравнений, для работы с дифференциальными операторами и для построения различных видов графиков решения дифференциального уравнения и систем дифференциальных уравнений. Все перечисленные возможности пакета, кроме последней, с большой степенью вероятности представляют интерес для специалистов в области дифференциальных уравнений, тогда как возможность отображения решения дифференциального уравнения без явного построения численного решения в виде процедуры Марlе представляет интерес для большого круга технических специалистов, работающих в разных областях. Мы остановимся только на графических возможностях пакета DEtools. Они включают команды DEplot для построения графиков решений систем дифференциальных уравнений, PDEplot для решения уравнений в частных производных и его отображения, dfieldplot и phaseportrait для отображения, соответственно, поля направлений и фазового портрета систем дифференциальных уравнений.
Команда DEplot численно решает как одно обыкновенное дифференциальное уравнение любого порядка, так и нормальную систему обыкновенных дифференциальных уравнений, причем в этом случае должна быть только одна независимая переменная, т. е. переменная, от которой зависят искомые функции системы. Эта команда может использоваться с различным синтаксисом:
DEplot(deqns, vars, trange, inits, eqens) ;
DEplot(deqns, vars, trange, inits, xranges, eqens) ;
DEplot(deqns, vars, trange, xranges, eqens) ;
Параметр deqns задает либо одно дифференциальное уравнение произвольного порядка, либо систему в виде списка/множества, элементы которого представляют дифференциальные уравнения первого порядка, образующие систему.
Зависимые переменные системы или дифференциального уравнения, т. е. искомые функции, задаются параметром vars. В случае системы они должны быть представлены в виде списка/множества.
Параметром trange определяется диапазон изменения независимой переменной в виде t=a..b .
В этом уравнении задает имя используемой независимой переменной, а числовые параметры и определяют диапазон ее изменения. Еще раз напомним, что команда DEplot работает с системой, в которой все неизвестные функции зависят от одной переменной.
Начальные условия определяются параметром inits, который представляет список, элементами которого являются списки. Каждый такой элемент-список определяет интегральную кривую дифференциального уравнения или системы, которая отображается на графике. Количество элементов-списков параметра inits соответствует количеству интегральных кривых на графике. Граничные условия задаются так же, как и для команды dsolve, через дифференциальный оператор D.
Если для заданного дифференциального уравнения не существует интегральной кривой, удовлетворяющей некоторым заданным начальным условиям из списка, то команда не выдает никаких сообщений, отображая на результирующем графике только интегральные кривые, соответствующие действительным начальным условиям.
Параметры xranges, а их может быть столько, сколько неизвестных функций в системе, задают диапазоны изменения неизвестных функций и используются для завершения процесса интегрирования. Численное интегрирование осуществляется с заданным шагом, который по умолчанию равен
,
где числа и задаются в параметре trange. Как только при очередном шаге значение какой-либо неизвестной функции выходит за пределы заданного в соответствующем параметре диапазона ее изменения, процесс интегрирования останавливается. Параметры xranges можно задавать в одной из двух форм
x(t)=x1..x2
x=x1..x2
В них x представляет имя неизвестной функции дифференциального уравнения или системы, t -- имя независимой переменной, а числа x1 и x2 задают, соответственно, нижнюю и верхнюю границу изменения неизвестной функции x(t).
Необязательным параметром eqens задается ряд опций, определяющих общий вид графика решения: цвет линии интегральной кривой, шаг интегрирования, влияющий на гладкость отображения кривой, что и как откладывается по осям координат двумерного графика и т. д. Они. как и все опции в Марlе, задаются в виде уравнений, в которых в левой части стоит имя опции, а в правой -- ее значение. Кроме некоторых специальных опций они в основном совпадают с опциями команды plot пакета plots, а также с опциями, которые можно задавать при построении численного решения (type=numeric) командой dsolve.
...Подобные документы
Реализация алгоритмов вычисления математических объектов на конкретных вычислительных машинах. Числовые данные в практических задачах. Анализ математических моделей, связанных с применением вычислительных машин в различных областях научной деятельности.
курсовая работа [369,3 K], добавлен 13.01.2018Программирование численных методов одномерной оптимизации. Решение одномерных задач оптимизации методами последовательного поиска. Градиентные методы и их применение для оптимизации на ЭВМ математических моделей объектов. Методы нулевого порядка.
контрольная работа [257,9 K], добавлен 15.01.2009Популярная система компьютерной математики, предназначенная для автоматизации решения массовых математических задач в самых различных областях науки, техники и образования. Основные возможности Mathcad, назначение и интерфейс, графика и развитие.
презентация [3,5 M], добавлен 01.04.2014Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010Построение и использование математических и алгоритмических моделей для решения линейных оптимизационных задач. Освоение основных приемов работы с инструментом "Поиск решения" среды Microsoft Excel. Ввод системы ограничений и условий оптимизации.
лабораторная работа [354,7 K], добавлен 21.07.2012Использование объектно-ориентированной методологии при программировании математических процессов. Среда языка программирования Delphi для решения математических задач. Объектно-ориентированные, декларативные и императивные языки программирования.
дипломная работа [1,8 M], добавлен 14.09.2011Основные особенности создания работоспособных программ по решению математических задач. Рассмотрение и характеристика типовых структурных элементов схемы алгоритма: внутренний цикл, ветвление. Анализ результатов машинного тестирования программы.
контрольная работа [502,8 K], добавлен 07.01.2013Сущность, принципы и описание методов и этапов имитационного моделирования. Процессы и применение дискретного и непрерывного алгоритма. Характеристика методов построения математических моделей для решения управленческих задач банковской системы.
курсовая работа [80,5 K], добавлен 29.05.2014Создание библиотеки классов имитационного моделирования и реализация алгоритма имитационного моделирования системы массового обслуживания "Модель комиссионного магазина". Использование для разработки среды программирования C++. Словарь предметной области.
курсовая работа [581,0 K], добавлен 23.01.2013Написание программы решения технических задач языком высокого уровня Си: определение мольной теплоемкости кислорода методом интерполяции. Построение математических моделей, графиков и таблиц по результатам расчетов, составление текста программы.
курсовая работа [382,9 K], добавлен 19.05.2011Обзор средств компьютерного имитационного моделирования по созданию веб-приложения для визуализации имитационных моделей. Система имитационного моделирования AnyLogic, Arena, SimuLab. Серверная, клиентская часть. Модель работы отдела банка и участка цеха.
дипломная работа [3,3 M], добавлен 25.05.2015Чарлз Бэббидж и его чудесные машины. Ada - название единого языка программирования американских вооруженных сил. Метод разделения математических расчетов. Причастность Ады Лавлейс к разработке многофункционального инструмента для решения прикладных задач.
статья [628,1 K], добавлен 06.04.2010Основы технологии моделирования Arena. Построение простой имитационной модели. Моделирование работы системы обслуживания покупателей на кассе супермаркета. Построение модели IDEF3. Анализ результатов имитационного моделирования и аналитического решения.
курсовая работа [659,1 K], добавлен 24.03.2012Сущность и основы программирования с использованием трёхмерной графики. Построение объемных фигур с последующей их демонстрацией на экране монитора. Обучение работе с программным продуктом. Нереализованные возможности программы и ее основные компоненты.
курсовая работа [294,6 K], добавлен 15.06.2009Сущность построения, особенности применения и теоретическое обоснование алгоритмов приближенного решения математических задач. Основы численного метода, нахождение интерполяционного полинома методом Лагранжа. Руководство программиста и пользователя.
курсовая работа [527,6 K], добавлен 16.08.2012Использование программного обеспечения MatLab для выполнения математических расчетов в области линейной алгебры, теории информации и обработки сигналов, автоматического и автоматизированного управления. Возможности стандартного интерфейса программы.
курсовая работа [178,7 K], добавлен 08.08.2011Возможности Mathcad для выполнения математических и технических расчетов. Графический интерфейс, инструменты для работы с формулами, числами, графиками и текстами. Операторы и логические функции для численного и символьного решения математических задач.
статья [208,6 K], добавлен 01.05.2010Характеристика, свойства и возможности программного пакета Maple. Применение аналитических, численных, графических возможностей системы Maple для моделирования физических явлений. Использование графики и анимации в системе Maple в педагогическом процессе.
курсовая работа [1,5 M], добавлен 12.01.2016Методы языка программирования C#. Алгоритмизация и программирование задач на языке высокого уровня C#. Внутренний цикл, ветвление, внешний цикл, вложенные друг в друга структуры ветвления. Вывод элементов массива на экран. Остальные элементы матрицы.
курсовая работа [250,2 K], добавлен 27.02.2015Использование вычислительных возможностей программ общего назначения при решении базовых геодезических задач. Решение прямой угловой засечки по формулам Юнга и обратной геодезической задачи. Решение с помощью системы для математических расчетов MATLAB.
курсовая работа [11,4 M], добавлен 31.03.2015