Рішення рівнянь в 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 для
змінної у за умови х. Подібним чином ви можете визначити більш ніж
одне рівняння. наприклад:

[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 =
х: [2x1 sym]
у: [2x1 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 та знайдіть наступне рішення, і так далі.

Рішення рівнянь в matlab

Мал. 2.3. Дві пересічні криві

← Попередня Комплексні числа в matlab

Змінні і привласнення Matlab Наступна →