Лабораторная работа 3. Решение алгебраических уравнений в среде LabVIEW
Пример 3.1. Определение токов в цепи с использованием формульного узла
1. Токи в цепи рис. 3.1 можно рассчитать по законам Ома и Кирхгофа



Значения сопротивлений 


2. Расчет по этим формулам можно выполнить при помощи формульного узла Formula Node, который относится к элементам «Структуры» и вызывается правой клавишей мыши на панели блок-диаграмм по пути: All Functions => Structures => Formula Node. Появившаяся рамка формульного узла растягивается до нужного размера и в нее вписываются расчетные формулы (1). Неизвестные записываются в левой части формул. Каждая формула пишется на отдельной строке и заканчивается точкой с запятой.
3. Затем в формулы нужно внести исходные данные и вывести результаты расчета. Для этого курсор устанавливается правой клавишей мыши на рамке формульного узла и из всплывающего меню левой клавишей вызывается Add Input (добавить вход) для входных величин и Add Output (добавить выход) для выходных величин. В появившиеся рамки вписываются наименования этих величин.
4. К входным рамкам подключаются цифровые управляющие элементы, к выходным — индикаторы. Входы и выходы можно устанавливать в любом месте рамки. Наименования в рамках должны быть точно такими же, как в формульном узле. Допускается применение одного и того же наименования для входной и выходной величины.
5. При помощи управляющих элементов задаются исходные данные, после чего схема запускается на решение.
Вид формульного узла показан на рис. 3.2.
Примечание. Формульный узел не применяется для работы с комплексными числами.
Пример 3.2. Решение алгебраических уравнений в матричной форме
Расчет токов в цепи рис. 3.1 можно провести по линейным алгебраическим уравнениям, составленным по законам Кирхгофа:

Эти уравнения можно записать в матричной форме

Для решения системы линейных алгебраических уравнений в среде LabVIEW существует элемент «Решение линейных уравнений», вызываемый по пути All Functions => Analyze => Mathematics => Linear Algebra => Solve Linear Equatons. Терминалы его можно раскрыть нажатием на иконку правой клавишей мыши и далее из всплывающего меню Visible Items => Terminals. Вид элемента, исходный и с открытыми терминалами, изображен на рис. 3.3.
Для определения назначения терминалов можно снова нажать на иконку правой клавишей мыши и открыть переднюю панель Open Front Panel. Передняя панель имеет вид, представленный на рис. 3.4. Уравнение (2) вводится таким образом: матрица коэффициентов Input Matrix (первая матрица уравнения) — подается на левый верхний терминал, вектор заданных воздействий Known Vector (правая часть) — подводится к левому среднему терминалу, а результирующий вектор Solution Vector (вектор искомых токов) — снимается с правого верхнего терминала
Для того чтобы ввести матрицу, вызывается элемент Array (построение массива). Элемент вызывается на лицевой панели по пути All Controls => Array&Cluster => Array. Появляется пустая ячейка, в которую вносится цифровой управляющий элемент (для матрицы коэффициентов и вектора управляющих воздействий) или цифровой индикатор (для вектора искомых токов). Затем элемент растягивается до нужной размерности матрицы инструментом «перемещение» (стрелка). Окна управляющих элементов и индикаторов имеют серый цвет, после внесения туда цифровых данных они становятся белыми. Одновременно с вызовом элемента Array на лицевой панели появляется его иконка на панели блок-диаграмм. Вид лицевой панели и панели блок-диаграмм, где выполнены необходимые соединения, представлен на рис. 3.5.
В результате выполнения операции получается вектор решений Output. В этом столбце представлены значения токов /, = ЗА, /2 = 2А, /3 = 1А.
Можно из этого столбца выделить значения отдельных неизвестных. Для этого используется функция извлечения элемента массива All Functions => Array => Index Array. Выходы функции подключаются к элементам индикации (рис. 3.6). После запуска программы индикаторы покажут величины, соответствующие значениям строк выходного вектора.
Следует отметить, что программный инструмент Solve Linear Equation, кроме всего, обладает в некотором роде универсальными свойствами, так как может решать также и переопределенные и недоопределенные системы уравнений. В первом случае находится решение, наиболее удовлетворяющее уравнениям (по наименьшему небалансу), а во втором отыскивается одно из возможных решений.
- Реферат: Моделирование линейных непрерывных систем в среде LabVIEW
- Введение
- Моделирование линейных непрерывных систем
- Численное решение дифференциальных уравнений
- Замена непрерывной передаточной функции дискретной
- Сопромат .in.ua
- Некоторые варианты решения системы уравнений
- Решение online
- Решение системы линейных алгебраических уравнений в OpenOffice.org
- Пример решения системы линейных уравнений в Scilab
- Пример
- Пример решения системы линейных уравнений в среде программирования R
- Пример
- Решение системы линейных уравнений Ax=b в Euler Math Toolbox
- Пример
Реферат: Моделирование линейных непрерывных систем в среде LabVIEW
| Название: Моделирование линейных непрерывных систем в среде LabVIEW Раздел: Рефераты по информатике Тип: реферат Добавлен 18:48:35 07 мая 2011 Похожие работы Просмотров: 119 Комментариев: 23 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно Скачать | ||||||||||||
![]() ![]() | ![]() |
| а ) | б ) |
| Рис.1 | |
Видим, что при использовании этого метода используется линейная экстраполяция и тангенс угла наклона экстраполирующей прямой равен производной функции u (t ) в точке А. Экстраполированное значение uk отличается от точного на величину ошибки.
Неявный (обратный) метод Эйлера основан на разложении функцииu (t ) в ряд Тейлора в окрестности точки В (u k, , t k ) (см. рис.1 б ):
Приняв в этом выражении t= tk — 1 и ограничившись двумя первыми членами ряда, получим
Искомое значение процесса uk входит и в левую, и в правую части уравнения, и если не удается найти uk в явном виде, то приходится использовать приближенные методы решения этого уравнения.
Применим методы Эйлера для расчета переходной характеристики интегрирующей цепи. Передаточная функция интегрирующей цепи:
Отсюда дифференциальное уравнение в операторной форме:
и в канонической форме:
Перепишем его в виде (1):
Запишем рекуррентную формулу для прямого метода Эйлера в соответствии с (5.3)
Формула для обратного метода Эйлера запишется в соответствии с (4)
Так как уравнение линейное, то значение yk вычисляется в явной форме:
Методы Эйлера обладают низкой точностью. В более точных методах используются различные способы определения угла наклона экстраполирующей прямой, чтобы она прошла ближе к точному решению. Хорошей точностью обладает метод Рунге-Кутта четвертого порядка, который обычно и используется. Программы для численного решения дифференциальных уравнений имеются практически в любом пакете прикладных программ, в том числе и в LabVIEW.
Для вычислений по формулам (5.5) и (5.6) используем структуру FormulaNode. Внутри этой структуры запишем точное выражение для переходной характеристики:
и выражения для переходной характеристики, полученные прямым методом Эйлера:
и обратным методом Эйлера:
при нулевых начальных условиях: y (0) = 0, v (0) = 0.
В этих выражениях использованы различные обозначения для выходных переменных и принято x = 1 (t ) = 1, так как t > 0.
На рис.2 показана эта структура. В формулах Δt обозначена как dt .
![]() | |
| Рис.2 | Рис.3 |
Напомним, что для образования входных и выходных терминалов нужно щелкнуть ПКМ на границе структуры в предполагаемом месте терминала и в раскрывшемся меню выбрать AddInputили AddOutput.
Для формирования массивов выходных переменных структура FormulaNodeпомещается внутрь структуры ForLoop, при этом задержанные на интервал дискретизации отсчеты выходных переменных y 1 и v 1 получаются с помощью регистра сдвига (рис.3).
Прямой метод Эйлера при большом интервале дискретизации может дать неустойчивое решение. Это случится, если отклонение решения от входного процесса xk — 1 — yk — 1 (см формулу (5)) даст такое значение yk . что отклонение на следующем шаге xk — yk будет той же величины, что и предыдущее, но обратным по знаку. Решение будет колебательным незатухающим.
| ||
| Рис.4 |
В предыдущих лабораторных работах развертка графического индикатора Graphосуществлялась автоматически в соответствии с типом данных, подаваемых на вход графического индикатора. В этой работе мы сформируем данные так, чтобы по горизонтальной оси откладывалось время. Для этого надо сформировать кластер, куда кроме массива данных будет входить информация о времени. Используем ВП Bundle (Объединить), который находится в подпалитре Cluster (Кластер). На его входы elementподаются (см. рис.4): на верхний — время начала развертки — 0; на средний — интервал дискретизации — Δt; на нижний — массив данных
Замена непрерывной передаточной функции дискретной
Если математическая модель системы представляется в виде соединения линейных и нелинейных блоков, то для описания линейных блоков чаще всего используется передаточная функция K (p ). В этом случае цифровую модель непрерывного линейного блока можно получить, заменив непрерывную передаточную функцию K (p ) дискретной K (z ).
Для этого можно использовать связь между непрерывными и дискретными изображениями, устанавливаемую дискретным преобразованием Лапласа (Z -преобразованием). В таблице 1 приведена эта связь для передаточных функций, используемых в данной лабораторной работе.



Сопромат .in.ua
изучаем сопротивление материалов
Некоторые варианты решения системы уравнений
Решение online
На странице “Решение системы линейных уравнений“ вы можете решить систему до 10 уравнений online.
Решение системы линейных алгебраических уравнений в OpenOffice.org
Из линейной алгебры нам известно, что для системы линейных уравнений A*x=b решением 1 есть x=A -1 *b, если детерминант матрицы A не равен нулю. Здесь A -1 – обратная матрица коэффициентов СЛАУ .
Решим систему из двух уравнений.
В ячейках (A1:B2) вводим данные.
Детерминант матрицы: MDETERM(A1:B2)
Затем получаем обратную мартицу A -1 :
=
Умножаем полученную обратную матрицу на столбик з правою частью систем уравнений:
=
Осталось проверить проверить правильность решения, подставив полученные неизвестные в систему уравнений.
Пример решения системы линейных уравнений в Scilab
Scilab — мощный открытый пакет прикладных математических программ (система компьютерной математики) для инженерных и научных расчётов.
- решать задачи линейной алгебры;
- решать нелинейные уравнения и системы;
- решать задачи оптимизации;
- дифференцировать и интегрировать;
- решать обыкновенные дифференциальные уравнения и системы.
- обрабатывать экспериментальные данные (интерполяция и аппроксимация, метод наименьших квадратов);
- создавать различные виды графиков и поверхностей.
Более подробно с пакетом можно ознакомится на домашней странице Scilab или в википедии
Пример
Решим систему из двух уравнений вида A*x=b
Задаем матрицу коэффициентов: —>A=[1,2;3,4] A = 1. 2. 3. 4. Задаем вектор свободных коэффициентов: —>b=[2;1] b = 2. 1.
Определяем детерминант матрицы: —>det(A) ans = — 2 Так как определитель матрицы отличен от нуля, решение СЛАУ существует.
Решение СЛАУ методом обратной матрицы —>x=Ab x = — 3. 2.5 Запись Ab соответствует математической операции A -1 b. Записи x=Ab эквивалентна запись x=inv(A)*b
Эту систему уравнений также можно решить с помощью специальной функции linsolve (эта функция решает уравнение вида Ax+b=0, поэтому поменяем знак вектора b) x=linsolve(A,-b) x = — 3. 2.5 и получили ответ: x0= -3; x1= 2.5;
Проверяем A*x-b ans = 1.0D-14 * 0.2220446 0.3552714 результирующий вектор близок к нулю, то есть система решена верно.
Существуют и другие способы решения системы линейных уравнений в среде Scilab.
Пример решения системы линейных уравнений в среде программирования R
R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом.
Пример
Решаем систему Ax=b (из двух уравнений)
A A [,1] [,2] [1,] 1 2 [2,] 3 4 > b b [1] 2 1 > x x [1] -3.0 2.5 и получили ответ: x1= -3; x2= 2.5;
Проверка: > A %*% x [,1] [1,] 2 [2,] 1
Определитель матрицы: > det(A) [1] -2
Решение системы линейных уравнений Ax=b в Euler Math Toolbox
Домашняя страница Euler Math Toolbox . В пакет интегрирована система компьютерной алгебры Maxima. Система напоминает Matlab, но имеет собственный стиль, и немного иной синтаксис.
Домашняя страница автора René Grothmann
Пример
This is Euler Math Toolbox, Version 5.8. >A:=[1,2;3,4] 1 2 3 4 >b:=[2;1] 2 1 >x:=Ab -3 2.5 Получили ответ: x0= -3; x1= 2.5;
Определитель матрицы: >det(A) -2
Проверка: умножим A на x (операция умножения обозначается точкой «.») >A.x 2 1
Решить указанную систему можно также с помощью следующего выражения (inv(A) — обратная матрица) >x:=inv(A).b -3 2.5
1 Этот способ решения называется — решение СЛАУ методом обратной матрицы













