Progress-servis55.ru

Новости из мира ПК
14 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Решение системы уравнений matlab

Решение системы уравнений matlab

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

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

  • сформировать матрицу коэффициентов и вектор свободных членов заданной системы;
  • решить систему, представив вектор неизвестных как произведение матрицы, обратной к матрице системы, и вектора свободных членов.

Дана система уравнений:

Решаем на MATLAB :

A=[1 -2 1; 2 -5 -1; -7 0 1];

x=inv(A)*b % Решение системы x = A -1 b

Решение системы линейных уравнений при помощи метода Гаусса основывается на том, что от заданной системы, переходят к системе эквивалентной, которая решается проще, чем исходная.

Метод Гаусса состоит из двух этапов:

  • Первый этап — это прямой ход, в результате которого расширенная матрица системы путем элементарных преобразований (перестановка уравнений системы, умножение уравнений на число, отличное от нуля, и сложение уравнений) приводится к ступенчатому виду.
  • На втором этапе (обратный ход) ступенчатую матрицу преобразуют так, бы в первых n столбцах получилась единичная матрица. Последний, n +1 столбец этой матрицы содержит решение системы линейных уравнений.

Порядок решения задачи в MATLAB следующий:

  • сформировать матрицу коэффициентов и вектор свободных членов заданной системы;
  • сформировать расширенную матрицу системы, объединив и ;
  • используя функцию rref, привести расширенную матрицу к ступенчатому виду;
  • найти решение системы, выделив последний столбец матрицы, полученной в предыдущем пункте;
  • выполнить вычисление ; если в результате получился нулевой вектор, задача решена верно.

A=[1 -2 1; 2 -5 -1; -7 0 1];

C=rref ([A b]); %Приведение расширенной матрицы к треугольному виду

x=C(1:3,4:4) %Выделение последнего столбца из матрицы

Решение уравнений в matlab

Вы можете решать уравнения, содержащие переменные, с помощью команд
solve и fzero.

Разберем подробнее Matlab решение нелинейных уравнений, к примеру квадратного уравнения х 2 — 2х — 4 = 0, введите следующее:

syms x; solve (‘x^2 — 2*x -4=0’)

Разберем подробнее matlab решение линейных уравнений, к примеру вот такое уравнение х — 4 = 0, введите следующее:

syms x; solve (‘x -4=0’)

Обратите внимание, что уравнение, которое требуется решить, задано как
строка, то есть взято в одинарные кавычки. Ответ представляет собой точное
(символьное) решение 1+корень(5). Для получения числовых решений введите double
(ans) или vpa (ans), чтобы отобразить больше знаков. Ввод с командой solve
может также быть символьным выражением, но в этом случае программа MATLAB
потребует, чтобы правая часть выражения была заключена в скобки, и
фактически синтаксис решения уравнения х 2 — Зх = -7 будет выглядеть так:

syms x; solve (x^2 — 3*x + 7)

Ответ представляет собой точное (символьное) решение (3 + корень(19i))/2
(сложные числа, где буква i в ответе ставится для мнимой единицы V-1). Для
получения числовых решений введите double (ans) или vpa (ans), чтобы
отобразить больше знаков.
С помощью команды solve можно решать высокоуровневые полиномиальные
(многочленные) уравнения, равно как и многие другие типы уравнений. Можно
также решать уравнения, содержащие более чем одну переменную. Если
уравнений меньше, чем переменных, вам следует определить (как строки), какую
переменную (переменные) требуется вычислить. Например, введите solve ( ‘2*х — log (у) = 1’, ‘у’), чтобы решить уравнение 2х — log у = 1 для
переменной у при условии х. Подобным образом вы можете определить более чем
одно уравнение. Например:

Читать еще:  Matlab оформление графиков

[x, y] = solve (‘x^2 — y = 2’, ‘y — 2*x =5’)

Эта система уравнений имеет два решения. Программа MATLAB выдает решение,
выводя два значения х и два значения у для этих решений. Таким образом,
первое решение состоит из первого значения х и первого значения у. Вы можете
извлечь эти значения, введя в командную строку х (1) и у (1):

Второе решение можно извлечь, введя х (2) и у (2).
Обратите внимание, что в предыдущей команде solve мы назначили вывод в
векторной форме [х, у]. Если вы используете команду solve в системе
уравнений, не задавая вывод в векторной форме, в этом случае программа MATLAB не
отображает автоматически значения решения:

sol = solve (‘x^2 — y = 2’, ‘y — 2*x = 5’)

sol =
х: [2×1 sym]
у: [2×1 sym]

Чтобы увидеть векторы значений х и у, введите sol.x и sol.у. Чтобы увидеть
отдельные значения, введите sol.х (1) и sol.у (1), и т.п.

  • В этом примере вывод результата выполнения команды solve представляет собой структурный массив. Чтобы более подробно познакомиться с этим классом данных

Некоторые уравнения нельзя решить символически, и в таких случаях команда
solve пытается найти числовой ответ. Например:

solve (‘ sin (x) = 2 — x’)

Иногда бывает более одного решения, и вы можете не получить того, что
ожидаете, например:

solve (‘exp (-x) = sin (x) ‘ )

Ответ представляет собой комплексное число. Хотя оно является правильным
решением уравнения, существуют также решения, представленные
вещественными числами. Графики функций ехр (-х) и sin (x) показаны на Рис. 2.3;
каждая точка пересечения двух кривых представляет собой решение уравнения е -х = sin (х).

Вы можете в числовой форме найти (приблизительно) решения, показанные на
графике, с помощью команды fzero, которая ищет нулевое значение данной
функции в пределах заданного значения х. Решение уравнения е -х = sin (x)
равно нулю в функции е -х — sin (x), поэтому, чтобы найти приблизительное
решение при х = 0.5, введите следующее:

h = @(x) exp(-x) — sin(x);
fzero (h, 0.5)

Замените значение 0.5 на 3 и найдите следующее решение, и так далее.

Рис. 2.3. Две пересекающиеся кривые

Поэтому из выше всего сказанного можно сделать вывод, что вам необходимо просмотреть много дополнительной информации и альтернатив!

Решение и моделирование линейного алгебраическое система уравнение в Matlab

РЕШЕНИЕ И МОДЕЛИРОВАНИЕ ЛИНЕЙНОГО АЛГЕБРАИЧЕСКОЕ СИСТЕМА УРАВНЕНИЕ В MATLAB

Ш. М. Туймуродов (преподаватель, Каршинский филиал ТУИТ)

(магистрантка, Каршинский филиал ТУИТ)

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

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

Мы покажем решение системы линейно-алгебраических уравнений с помощью функций программы Matlab и моделировании в среде Simulink.

Читать еще:  Среднее арифметическое matlab

Дана система линейно-алгебраического уравнения:

Здесь а11, а22,…….,аnn – неизменяемые коэффициенты, х1, х2,……. хn — неизвестные, b1, b2,……. bn – свободные члены.

Нам требуется решить следующую систему линейно-алгебраического уравнения:

Через окно Command Window системы Matlab, вводим следующие коды, при этом найдется решение системы уравнения.

Для решения системы линейно-алгебраических уравнений (1) из система уравнений определяем следующие матрицы:

A*B=C, отсюда вычисляем неизвестные матрицы B, оно будет выглядеть следующим образом:

,

Здесь A-1 обратная матрица для матрицы A

Чтобы решить систему линейно-алгебраических уравнений в среде матриц, определяем элементы матрицы из системы уравнений и вводим их в окно команд программы Matlab:

>> C=[14;3] % матрица состоит из свободных членов

>> A1=inv(A) %A1 обратная матрица для матрицы

>> B=A1*C % B означает корень уравнения матрицы x1 и x2

Способ моделирования Matlab/Simulink

1-способ: При решении системы уравнений состоящие из неизменяемых чисел вводим каждый эквивалент дифференциальной величины . В среде Matlab/Simulink для произведения модели пишется следующий вид системы уравнений:

Загрузив программную систему Matlab и библиотечную панель Simulink Library Browser, выбераем пользовательский блок: Gain (умножение неизменяемого коэффициента в сигнал ), Constant (источник неизменяемого сигнала ), Integrator (интегральный сигнал), Display (произведение цифрового сигнала в виде числа) Scope (виртуальный оцилограф). В виртуальным осцилографе видно то, что графическая функция означает, что с истечением времени, продолжается часть неизменяемой системы уравнения. А в дисплеи системы уравнение цифрового решения отображается на экране в виде числа. Блок Simulink в составе Matlab для математических задач основан на разработке проектирования, сбора сложных устройств электроники и разработки их математических моделей.

Пользовательские блоки: Display, Constant, Gain, Sum, Integrator, Mux.

Рис 1. Построение моделей системы линейно-алгебраических уравнений и изображения графика в оциллографе

2-способ: Из панели библиотеки отделения Ports&Subsystems выбирается команда Subsystem и настраивается его составная структура, в зависимости от числа неизвестных чисел блоков Gain и увеличивается число блоков multiplexor в зависимости от числа уравнений. Входящие сигналы Multipleksora In1,In2,In3 в выходящие Out1 с раздела Math operations, вращающие на значения ноль вводится Algebraic Constraint. Вводим соответствующие коэффиценты в состав параметров в каждый блок Gain. После процесса моделирования нажимаем кнопку Run и в результате на экране можно увидеть ответ системы уравнений.

Рис 2. Настройка составного строения Мултиплексора

Пользовательские блоки: Subsystem, Display, Constant, Gain, Algebraic Constraint, Sum, Mux.

Рис 3. Схематический состав решения системы линейно — алгебраического уравнения с помощью модели мултиплексора

Таким образом, мы познакомились с системой Matlab и решения систем линейно-алгебраических уравнений помощью стандартных функций матрицы и способами моделирование Simulink. С помощью этих способов создаётся оптимизирование системы произведения, моделирование объектов и процесс оценивания правильности построения моделей и способы их решения. Нужно отметить, что курс «Высшая математика» из точных наук работает с матрицами, выполняет разные операции над ними и разрабатывает разные способы решения линейных уравнений. Особенно с помощью способа Matlab/Simulink моделирование линейных уравнений занимает важное место современной цифровой технике, в изучение телекоммуникационных технологий.

, , . Математическое и компьютерное моделирование процессов и систем в среде MATLAB/SIMULINK. Киев-2008, ст-18-22. Hally More. MATLAB for engineers. Prentice Hall 2012 y. Page.441 MATLAB. Учебное пособие. ГУИА. 2005. – 143 с. , . Методы решения математических задач в Maple. Белгород 2001 г. Ст-22. . Simulink 5/6/7. Самоучитель. ДМК издательство. Москва-2008 г.

Читать еще:  Решение оду в matlab

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

где CE=22
DE=22
CD=40
fi4=arccos((CE^2+CD^2-DE^2)/(2*CE*CD))

при решении её вот таким образом:

Matlab M

Warning: Explicit solution could not be found.
> In solve at 140
In reshenie at 35

. Access to an object’s fields is only permitted within its methods.

Matlab M
04.06.2013, 00:54

Решение системы уравнений
Как решить такую систему уравнений в матлаб (см. вложение)? пробовал вот так: A=; b=; x=Ab .

Решение системы 3-ех уравнений
Доброго дня Возник следующий вопрос: нужно решить систему, состоящую из трех уравнений — ур-е.

Решение системы уравнений
Добрый день! Опять вынуждена обращаться к Вам за помощью. Передо мной стоит задача в написании.

04.06.2013, 10:042
Matlab M
Matlab M
04.06.2013, 12:58 [ТС]3
04.06.2013, 13:354
04.06.2013, 13:56 [ТС]5
04.06.2013, 14:176

Ага, ошибся для решения систем юзают fsolve (описание с примером)

Matlab M
04.06.2013, 17:56 [ТС]7
04.06.2013, 18:178
04.06.2013, 18:24 [ТС]9
04.06.2013, 18:3410

Второе ур-е в системе взял из рисунка, ведь поидее:
4 + 24.75 + 24.75 + 36.5 = 90
*Если 4 — это fi4, то можешь тего и записать в формуле.

Пробуй и сообщи результат!

Добавлено через 4 минуты
Кстать, если углы нужны в формате «углы,минуты,секунды» то есть встроенная ф-ция конвертер:
degrees2dms

Matlab M
04.06.2013, 18:34 [ТС]11
04.06.2013, 18:48 [ТС]12

эм из этого следует, что вы неверно уравнение написали вместо 90 надо pi/2
это ваше 2е уравнение системы

а точнее все уравнение не верно, оно должно выглядеть так:
fi4*2+u(1)+u(2)-pi/2

04.06.2013, 19:0013
04.06.2013, 19:03 [ТС]14

17.0040 23.7560
вот что получилось

Добавлено через 1 минуту
для интереса можете проверить подставив значения сторон в теорему косинусов чтобы убедиться что fi4=24 градусам 37 минутам

04.06.2013, 19:2115

Так fi4 правильно считается-то?

Т.е. фактически, по трем сторонам нужно рассчитать все углы?

04.06.2013, 19:23 [ТС]16
04.06.2013, 19:3317

ну хоть что-то правильно!

Хм. Где-то тут в разделе должна быть тема «решение треугольников», где делался и подобный рассчет углов по сторонам, можно кусок выдрать, посмотреть.
Я пока в пути, не могу воспользоваться поиском

04.06.2013, 19:39 [ТС]18
04.06.2013, 22:1019
04.06.2013, 22:20 [ТС]20

черт вы правы, я не учел этого фактора

Добавлено через 4 минуты
хотя с другой стороны это углы не между вертикальной и горизонтальной линией здесь углы в прямоугольных треугольниках примыкающих к моему треугольнику, то есть как ни крути углы те же будут

04.06.2013, 22:20
04.06.2013, 22:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Решение системы уравнений
Добрый вечер! Помогите разобраться с решением системы двух уравнений с тремя неизвестными. Есть.

Решение системы разностных уравнений
Доброго времени суток, есть система, нужно написать программу графического решения для n шагов Я.

Решение системы дифференциальных уравнений
Доброго времени суто. Помогите пожалуйста решить систему begin & text < >dh=-g*t-a*G/k.

Решение системы линейных уравнений
Здравствуйте! Надо решить систему с помощью средств встроенных в Matlab (численно и.

Ссылка на основную публикацию
Adblock
detector