Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

информатика / MathCad и MatLab / Расчеты и моделирование на ЭВМ

.pdf
Скачиваний:
36
Добавлен:
06.02.2016
Размер:
716.92 Кб
Скачать

x:= 1

y := 1

 

z := 1

 

Given

 

 

 

 

 

 

4 × x + 2 × y - z

 

0.256

 

 

 

 

 

 

 

 

 

 

 

x + 3 × y + z

 

0.34

 

 

 

 

 

 

 

 

 

 

 

 

0.5 × x + 0.36× y - 3 × z

 

-4.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ

0.801

ö

vec := Find(x,y, z)

vec = ç

-0.682

÷

 

 

 

 

 

 

ç

 

÷

 

 

 

 

 

 

è

1.585

ø

Примечание. Знак = (жирный знак равенства) задается либо нажатием комбинации клавиш Ctrl+=, либо из палитры Булевы операторы.

3.1.9 Решение нелинейных и дифференциальных уравнений

3.1.9.1 Решение систем нелинейных уравнений

Для решения систем нелинейных уравнений используется специальный вычислительный блок, который открывается служебным словом Given. Формат записи блока следующий:

Given

Уравнения Ограничительные условия

Выражения с функциями Find и Minerr

3.1.9.2 Запись уравнений

Уравнения записываются с использованием знака = из палитры "Булевы операторы" (Ctrl + =).

3.1.9.3 Функции Find и Minerr

 

 

Find(v1,v2,…,vn) – возвращает значение одной

или

нескольких

переменных для точного решения.

 

 

Minerr(v1,v2,…,vn) – возвращает значение одной

или

нескольких

переменных для приближенного решения.

 

 

Первая функция используется когда решение реально существует, вторая пытается найти максимальное приближение к несуществующему решению

путем минимизации среднеквадратичной погрешности вычисления. 31

При использовании функции Minerr необходимо предусматривать проверку решения. Желательно как можно ближе указывать приближения к решению.

3.1.9.4 Ограничения

e1 > e2 e1 < e2 e 1 ³ e2 e1 £ e2 e1 ¹ e2 e1 = e2 – вводятся с использование палитры "Булевы операторы".

Примеры решения систем нелинейных уравнений.

Пример 1. Решение СНУ графически с использованием функции root

G(a ,x) := rootéë(ex - a × x2 + x3),xùû

a := 1 .. 10

x0 := 0

a =

xa =

1

 

-0.59

2-0.495

3-0.434

4-0.392

5-0.361

6-0.336

7-0.316

8-0.299

9-0.285

10-0.272

xa := G(a ,xa - 1)

 

0.2

 

 

xa

0.4

 

 

 

0.6 0

5

10

 

 

a

 

Пример 2. Решение СНУ с использованием вычислительного блока

 

Given-Find

 

 

x := 1

 

y := 1

 

 

Given

x3

+ sin(y)

 

 

 

 

25

 

 

 

 

 

 

 

 

 

 

 

æ

x ö

y2

- cos(x)

 

 

27

 

 

 

 

 

 

 

:= Find(x,y)

x = 2.96

y = 5.101

ç

÷

è

y ø

 

 

 

 

 

 

 

 

32

Пример 3. Решение СНУ с использованием вычислительного блока

Given-Minerr

Задаем начальные значения переменных

x

:=

0

 

 

 

 

 

 

y := 1

Given

 

 

 

 

 

 

 

 

 

(x 2

+

1 )2

 

+ (y 2

+

1 )2

 

5.5

 

x

+

y

 

 

0.95

 

 

 

 

 

 

 

 

 

Применим функцию Minerr

 

 

z

:=

Minerr

( x ,

y

)

 

 

Получим решение

z =

æ

− 0.106

ö

ç

1.056

÷

 

è

ø

Проверим

 

 

 

 

 

 

 

 

 

 

 

 

é

(z 0 )

2

+

1

ù 2

+

é

(z 1 )

2

+

1

ù

2

= 5.5

ë

 

û

ë

 

û

 

z0 + z 1 = 0.95

3.1.9.5Решение систем дифференциальных уравнений

Многие процессы в природе и технике можно описать дифференциальными уравнениями. Для их решения в MathCAD есть целый набор функций:

rkadapt(y,x1,x2,acc,n,F,k,s) – возвращает матрицу , содержащую таблицу значений решения задачи Коши на интервале от x1 до x2 для системы ОДУ, вычисленную методом Рунге-Кутты с переменным шагом и начальными условиями в векторе y (правые части системы записаны в векторе F, n – число шагов, k - максимальное число промежуточных точек решения и s – минимально допустимый интервал между точками); асс – погрешность

33

вычисления;

Rkadapt(y,x1,x2,n,F) – возвращает матрицу решений на интервале от x1 до x2 для системы ОДУ, вычисленную методом Рунге-Кутты с переменным шагом и начальными условиями в векторе y (правые части системы записаны в векторе F, n – число шагов);

rkfixed(y,x1,x2,n,F) – возвращает матрицу решений на интервале от x1 до x2 для системы ОДУ, вычисленную методом Рунге-Кутты с переменным шагом и начальными условиями в векторе y (правые части системы записаны в векторе F, n – число шагов).

 

 

 

 

 

 

Примеры

 

 

m := -0.02

 

 

 

 

 

æ 0 ö

Вектор начальных

Параметр системы X := ç

÷

 

 

 

 

 

 

 

è

1 ø

условий

é

m × X0 - X1 - ëé

(X0)2

+ (X1)2ûù × X0

ù

Система нелинейных

D(t,X) := ê

m × X + X - é

(X )2

+ (X )2ù

 

ú

дифференциальных

ê

× X

ú

уравнений

ë

 

1

0

ë

0

1 û

1

û

 

Z := RkadaptX(,0,20,100,D)

n := 0.. 99

 

Получаем решение

 

 

 

1

 

 

 

 

 

 

 

Zn,1

 

0.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zn,2

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

0.5 0

 

20

40

60

80

100

 

 

 

 

 

 

34

 

 

 

Модель двигателя постоянного тока с независимым возбуждением

U := 440 Ra := 0.045 Cf := 0.06959 J := 0.018 Mc := 0 Cm:= 0.07168

æ

0

ö

La := 0.02356

x := ç

0

÷

è

ø

 

æ

U - x0 × Ra - Cf × x1 ö

ç

 

 

 

÷

 

La

D(t, x) := ç

 

÷

 

x0 × Cm - Mc

ç

 

÷

ç

 

 

 

÷

 

J

è

 

ø

t0

:= 0

 

 

Начальное время

t1

:= 10

 

 

Конечное время

 

æ

0

ö

Вектор начальных значений функции

Y0:= ç

 

÷

 

è

0

ø

 

N := 100

 

Количество точек на интервале [t0, t1]

 

Матрица решения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S := Rkadapt(Y0,t0, t1, N, D)

 

t := S á0ñ

y0 := S á1ñ

 

y1 := S á2ñ

 

 

 

 

 

 

4000

 

 

 

 

 

 

 

 

 

 

 

1 .104

 

 

 

 

 

 

 

 

 

 

 

3400

 

 

 

 

 

 

 

 

 

 

 

9000

 

 

 

 

 

 

 

 

 

 

 

2800

 

 

 

 

 

 

 

 

 

 

 

8000

 

 

 

 

 

 

 

 

 

 

 

2200

 

 

 

 

 

 

 

 

 

 

 

7000

 

 

 

 

 

 

 

 

 

 

 

1600

 

 

 

 

 

 

 

 

 

 

 

6000

 

 

 

 

 

 

 

 

 

 

y0

1000

 

 

 

 

 

 

 

 

 

 

y1

5000

 

 

 

 

 

 

 

 

 

 

 

400

 

 

 

 

 

 

 

 

 

 

 

4000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3000

 

 

 

 

 

 

 

 

 

 

 

200

0

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

 

 

 

 

2000

 

 

 

 

 

 

 

 

 

 

 

800

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1000

 

 

 

 

 

 

 

 

 

 

 

1400

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2000

 

 

 

 

 

 

 

 

 

 

 

0

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В приведенном примере приняты обозначения: y0 – ток якоря двигателя;

y1 – скорость вращения вала двигателя; Ra – сопротивление обмотки якоря;

La – индуктивность обмотки якоря; J – момент инерции;

35

Mc – момент сопротивления (нагрузки); Cm – конструктивная константа;

Cf – константа магнитного потока.

3.2 Пакет прикладных программ MatLab

Пакет программ MatLab (MATrix LABoratoty – матричная лаборатория) – изначально был разработан компанией MathWorks для математических вычислений с матрицами. Позднее пакет был дополнен средствами компьютерной алгебры пакета Maple и дополнительными библиотеками (Toolboxes). В настоящее время MatLab - универсальное и мощное средство для исследований технических, управляющих и экономических систем.

В состав MatLab входят:

интерпретатор команд;

графический процессор;

редактор-отладчик;

библиотеки модулей;

компилятор;

символьный процессор;

математические библиотеки на С/С++;

генератор отчетов;

и многое другое.

MatLab версии 5.2, который мы рассмотрим, работает под управлением MS Windows 95/98/2000. Минимальные требования к компьютеру следующие:

процессор Pentium100 и выше;

видео-карта, поддерживающая 256 цветов;

ОЗУ не менее 16 Мбайт (лучше 64 Мбайт);

дисковое пространство не менее 75 Мбайт.

Новая версия MatLab 6.0 требует не менее 64Мбайт ОЗУ (лучше 128 Мбайт) и более быстродействующий процессор (с тактовой частотой не менее 300 МГц, лучше – не менее 500 МГц).

3.2.1 Запуск MatLab

Для запуска MatLab дважды щелкните ЛКМ по значку на рабочем столе Windows. Если значка на рабочем столе нет, нажмите кнопку Пуск, выберите пункт главного меню Программы. Из раскрывшегося меню выберите название пакета Matlаb и нажмите ЛКМ на подсветившейся строке

36

MATLAB. После запуска появится заставка MatLab, а затем откроется главное окно програм-мы (рисунок 17).

Главное меню MatLab включает пункты:

Файл – работа с проектами и документами MatLab;

Правка – работа с текстом программы в главном окне MatLab; Окно – работа с окнами MatLab;

? – помощь (справка) MatLab.

Главное меню

Командная строка

Панель инструментов

Полосы

прокрутки

Рисунок 17 – Главное окно программы MatLab

Состав панели инструментов показан на рисунке 18.

Рисунок 18 – Панель инструментов MatLab

3.2.2 Программа Simulink

Simulink – это расширение МatLab для моделирования и анализа динамических систем. Моделирование интерактивно, то есть Вы можете изменять параметры "на лету" и немедленно видеть то, что получается. Вы имеете прямой доступ ко всем инструментальным средствам анализа и графики MatLab, так что Вы можете брать результаты, анализировать и визуализировать их.

Это превращает ваш компьютер в лабораторию для моделирования и анализа систем, причем таких, которые просто невозможно исследовать иначе, например, автомобильных систем, поведения крыла самолета, эффект денежнокредитной поставки в экономике и пр.

Чтобы упростить построение моделей, в Simulink используется графический интерфейс построения блок-диаграмм. При этом можно использовать готовые блоки, создавать свои, объединять блоки в библиотеки пользователя, создавать иерархические модели.

Для запуска Simulink нажмите кнопку на панели инструментов. На экране откроются два окна (рисунок 19): окно библиотек

Simulink (Library: simulink) и окно новой модели (untitled).

38

Рисунок 19 – Окно библиотек Simulink и окно новой модели

Вверху каждого окна расположены главное меню и панель инструментов. Рассмотрим назначение и содержание каждого из этих элементов.

3.2.2.1 Главное меню окон Simulink

3.2.2.1.1 Раздел File

 

 

 

 

В него входят следующие пункты:

 

 

 

 

New (дублирует кнопку

на панели инструментов) создание

нового окна блок-диаграммы.

 

 

 

 

Open (дублирует кнопку

на

панели

инструментов)

-

открыть mdl-файл.

 

 

 

 

Close закрыть окно блок-диаграммы (и соответствующий mdl-файл).

 

Save (дублирует кнопку

на

панели

инструментов)

-

сохранить (записать на диск) mdl-файл.

 

 

 

 

Save as... – сохранить как... (переписать) – команда позволяет сохранить файл под новым именем или в другом каталоге; при ее выполнении открывается диалоговое окно файловой системы Windows.

Show Browser вызов специального средства просмотра структуры S-

модели (броузера).

 

Пункт Print (дублирует кнопку

на панели инструментов) –

позво-ляет выводить на печать блок-диаграмму модели и некоторую дополнительную информацию по ней.

При выполнении этой команды открывается диалоговое окно, обеспечивающее настройку параметров печати (рисунок 20). Окно состоит из двух основных полей: Printer и Options.

Первое поле содержит стандартные параметры настройки принтера из среды Windows (тип принтера, логическое имя порта вывода и т. д.).

Поле Свойства является специфическим именно для вывода информации об S-модели. На нем расположены следующие элементы управления:

∙ переключатели уровня иерархии, с помощью которых можно выбрать перечень компонентов S-модели (подсистем), которые будут распечатаны в виде блок-диаграммы; возможны следующие варианты:

Current system – печать только активного (текущего) окна блокдиаграммы;

Current system and above – печать текущего окна и всех подсистем

39

более высокого уровня, в состав которых входит выбранная подсистема; Current system and below – печать выбранной подсистемы и блок-

диаграмм всех входящих в нее подсистем;

All systems – печать блок-диаграмм всех подсистем, входящих в состав

S-модели;

Рисунок 20 – Окно установки параметров печати блок-диаграммы

флажок Include Print Log (Добавить печать реестра) позволяет вывести на печать в текстовой форме список блоков и подсистем, входящих в состав модели;

флажок Look Under Mask Dialog обеспечивает разрешение/запрет печати блок-диаграмм маскированных подсистем;

флажок Expand Unique Library Links (Раскрыть связи с личной библиотекой) позволяет разрешить/запретить печать блок-диаграмм подсистем

40