4 -е занятие по MATLAB
ЛАБОРАТОРНАЯ РАБОТА №4
I. Базовые операции символьной математики
системы MATLAB — SIMBOLIC MATHEMATICS TOOLBOX
1. Создание символьных переменных и массивов (x, y, z, a, b, c и т.д.).
Первый способ c помощью команды sym: x = sym(‘x’); y = sym(‘y’); z = sym(‘z’);
Второй способ с помощью команды syms: syms a b c;
1.1. Создание символьных матриц А1 (А2) или массивов:
1-й способ : A1 = sym(‘[a1 b1 c1;d1 e1 f1;g1 h1 k1]’); % матрица А1 размера 3 ´ 3
% Вывод матрицы А1 в командной строке
» A1 % После набора А1 нажать клавишу Enter
2- й способ : syms a b c d e f g h k
A2 = [a2 b2 c2;d2 e2 f2;g2 h2 k2]; % Матрица А2 размера 3 ´ 3
% Вывод матрицы А2 в командной строке
1.2. Проверить рабочую область c помощью команды whos.
1.3. Символьные числовые матрицы и элементы:
Ac1=sym([1 3 7;2 4 6;1 7 5]); % Без апострофа
Ас2 = sym(‘7’); % С апострофом
1.4. Детерминант символьной матрицы — det :
» det(A1) % Без присвоения результата
» D 2= det ( A 2) % С присвоением результата ячейке под именем D 2
» det ( Ac 1) % Детерминант символьной числовой матрицы
% Детерминант матрицы 2-го порядка A 3= sym (‘[ a 1 b 1; c 1 d 1]’)
1 .5. Выделение диагонали заданной символьной матрицы:
1.6. Выделение диагонали символьной числовой матрицы
1.7. Создание символьной диагональной матрицы по заданной:
1.8. Создание числовой символьной диагональной матрицы по заданной
1.9. Вычисление собственных значений и собственных векторов символьно-числовой матрицы.
Собственные векторы — это такие векторы v , которые преобразуются матрицей А в векторы, отличающиеся от исходных лишь скалярным множителем s :
.
» A=sym([-1 0 0;2 -2 0;0 4 -2.5])
% Вычисление собственных векторов и собственных значений квадратной матрицы А — eig
v = % Матрица правых собственных векторов матрицы А
s = % Диагональная матрица собственных значений матрицы А
% Справедливо следующее спектральное разложение: ,
% Спектральное разложение может быть осуществлено по вектору столбцу, например
» A*v(:,2) % По второму столбцу
» v(:,2)*s(2,2) % По второму столбцу
% Первый собственный вектор v1 — это первый столбец матрицы v: v1=(0, 1, 8)
% Второй собственный вектор v2 — это второй столбец матрицы v: v2=(1, 2 ,16/3)
% Третий собственный вектор v3 — это третий столбец матрицы v: v3=(0, 0 ,1)
% Собственные числа матрицы А: s1=-2, s2=-1, s3=-5/2=-2.5
% Справедливы следующие соотношения:
Задание: Найти собственные векторы и собственные значения матрицы [7,-2,0;-2,6,-2;0,-2,5] , проверить результат.
2. Графические построения символьных функций — ezplot .
2.1. 1-й способ. Область определения по умолчанию от -2* pi до 2* pi
» syms t % Определение символьной переменной
2.2. 2-й способ обращения к функции ezplot . Задаваемая область определения
2 .3. 3-й способ обращения к функции ezplot . Определение функции под знаком ezplot
2 .4. 4-й способ обращения к функции ezplot .
» ezplot exp(-0.5*t)*cos(5*t) [0 9],grid
» ezplot sin(t)/t [ -12 12 ],grid
3. Свойства собственнх значений матрицы:
где — след матрицы А, т.е. сумма элементов главной диагонали, — собственные значения матрицы А, , — размерность матрицы А.
% В системе MATLAB
» trace(A) % След матрицы А
» sum(eig(A)) % Сумма собственных значений матрицы А
» det(A) % Определитель матрицы А
» prod(eig(A)) % Произведение собственных значений матрицы А
4. Создание полиномов и характеристических полиномов.
4.1. Создание полинома по вектору заданных коэффициентов — poly2sym .
» poly2sym(c) % Вектор коэффициентов может быть непосредственно введен в poly2sym
% Переменная х устанавливается по умолчанию. Другие переменные следует определять
» c=[2 3 5 7 8]; % Можно определить и как вектор столбец
4.2. Характеристический полином заданной символьно-числовой матрицы
Характеристический полином определяется из следующего характеристического уравнения для заданной матрицы А:
где — единичная матрица
Каждое собственное число матрицы А удовлетворяет ее характеристическому уравнению
» syms s % Задали символьную переменную s
% Для чисто числовой матрицы функция poly определяет только строку коэффициентов
Задание. Вычислить собственные значения матрицы А с присвоением результата и подставить каждое из собственных значений в полученный характеристический полином. Результат должен быть равен нулю. Использовать функцию упрощения результата вычислений simplify.
4.3. Выделение коэффициентов из заданного полинома — sym2poly.
» p=poly2sym([1 3 4 6],s) % Формирование полинома с заданными коэффициентами
» sym2poly(p) % Выделение вектор-строки коэффициентов из заданного полинома
% Полученную вектор-строку можно переопределить с присвоением
Задание. Сформировать характеристический полином по полученному вектору-строки с использованием функции poly2sym по переменной z.
5. Решение символьных конечных уравнений — solve .
5.1. Решение квадратного уравнения
—
» syms x % Задание символьной переменной х
» solve(‘x^2+2*x-8=0’) % Формат записи решателя solve
—
[ -1-i*7^(1/2)] % Комплексное решение, i — мнимая единица
5.2. Решение нелинейных уравнений.
5.3. Решение систем нелинейных уравнений.
—
» simplify([X2,X1]) % Для упрощения результата
5.4. Решение систем трансцендентных уравнений.
Пример. Решить следующую систему трансцендентных уравнений:
где t1, t2, t3 — искомые переменные.
% Функция vpa используется д ля задания количества значащих цифр
O4=(1-0.5)*exp(T3(4))-2*exp(T2(4))+2*exp(T1(4))-1 % Для проверки
% Каждое из 6 решений должно удовлетворять любому из 3-х уравнений
II. Вычисление символьных выражений
с различным представлением результатов.
Вычисление пределов в MATLAB. Вычисление сумм, произведений.
в пакете SIMBOLIC MATHEMATICS TOOLBOX.
1. Представление результата в виде рационального числа — ‘r’ .
1.1. Вычисление дроби 1/3:
» r1=sym(1/3,’r’) % С присвоением результата
1.2. Вычисление натурального логарифма от 3 — :
1.3. Вычисление десятичного логарифма от 3 — :
1.4. Вычисление логарифма по основанию два от 3 — :
Замечание: Представление в виде рационального числа имеет формат либо p/q либо p*2^q, где p, q — целые числа.
2. Представление результата в виде числа с плавающей точкой — ‘f’ .
Все величины представляются в форме ‘1.F’*2^(e) или ‘-1.F’*2^(e), где F — это ряд из 13 шестнадцатиричных цифр, а e — целое число. В случае, когда результат вычисления не может быть представлен точно в форме с плавающей точкой, то выводятся буквы, имеющие то или иное назначение в интерпретации результата.
2.1. Вычисление дроби 1/2:
» f1=sym(1/2,’f’) % Формат записи
% Результат записан в виде точного представления в арифметике с плавающей точкой
2.2. Вычисление дроби 1/5:
% Результат записан в виде приближенного (буква а — approximately) представления в арифметике с плавающей точкой.
3. Рациональное число с оценкой погрешности полученного представления —‘e’.
Рациональное представление добавляется переменной ‘eps’, которая оценивает разницу между теоретическим рациональным выражением (результатом) и его действительной величиной с плавающей точкой.
3.1. Вычислить дробь 1/2:
1/2 % Результат как и в случае рационального представления
3.2. Вычислить дробь 1/3:
3.3. Вычислить выражение :
3.4. Вычислить дробь 3/33
4. Формат десятичного числа — ‘d’ .
4.1. Вычислить дробь 1/3:
.33333333333333331482961625624739 % По умолчанию поддерживаются 16 цифр %мантиссы полученного числа
4.2. вычислить выражение :
4.3. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием функции vpa :
4.4. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием vpa и digits
% Использование только digits приводит к выводу результата с заданным количеством цифр, но %с ограниченной точностью (в формате ‘d’):
5. Вычисление пределов — limit.
Вычисление пределов от символьных выражений производится с помощью встроенной функции limit . Соответствие между традиционным математическим описанием и символьным системы MATLAB приводится в таблице 1.
Таблица 1
Традиционное математическое действие
Команда MATLAB
% предел слева
% предел справа
Примечание: символ бесконечность ( ) в MATLAB записывается как inf . Неопределенное значение в MATLAB записывается как NaN .
5.1. Вычислить предел выражения :
1 % Предел отношения равен единицы
5.2. Вычислить предел выражения :
exp(1) % Ответ: число е в первой степени
5.3. Вычислить предел выражения при стремлении х к нулю слева:
-inf % Ответ: минус бесконечность
5.4. Вычислить предел выражения при стремлении х к нулю справа:
inf % Ответ: бесконечность (т.е. плюс бесконечность)
limit((sin(x+h)-sin(x))/h,h,0) returns cos(x)
5.5. Вычислить предел выражения :
» limit(y5,h,0) % Вычисление предела по одной из переменных — по h
6 . Дифференцирование функций одной переменной — diff .
6.1. Найти производную функции по переменной х:
6.2. Найти производную функции по переменной х:
» diff(sin(x+h)/x) % Формат записи без предварительного присвоения
6.3. Найти производную функции по переменной h :
» diff(sin(x+h)/x,h) % В записи указывается имя символьной переменной, по которой
6.4. Найти вторую производную от функции по переменной h :
6.5. Найти вторую производную от функции по переменной х:
» diff(sin(x+h)/x,2) % Цифра два указывает на порядок производной
6.6. Найти третью производную от функции по переменной h :
7. Интегрирование функции одной переменной — int .
7.1. Вычисление неопределенного интеграла:
% Вычислить интеграл :
% Вычислить интеграл :
» int((x+h)^2) % По умолчанию интегрирование ведется по переменной х
% Вычислить неопределенный интеграл от функции по переменной h :
% Вычислить неопределенный интеграл от функции по переменной x :
1/2*x^2+2*h*x+h^2*log(x) % В ответе имеется в виду натуральный логарифм
7.2. Вычисление определенного интеграла.
% Вычислить определенный интеграл :
% Вычислить определенный интеграл по переменной h :
8. Решение обыкновенных дифференциальных уравнений в символьном виде — dsolve .
Решатель дифференциальных уравнений может быть использован, если решение существует в аналитическом виде. Практически это означает, что решателем dsolve можно пользоваться только при поиске решения линейного дифференциального уравнения (или системы линейных уравнений).
8 .1. Решить дифференциальное уравнение с начальным условием Построить график решения в интервале [-0.5, 7].
% Создадим следующий сценарий под именем sdif1 :
% Решение диф.уравнения в символьном виде
% Область построения графика решения можно задавать без квадратных скобок
8 .2. Решить систему однородных дифференциальных уравнений с начальными условиями Построить график решения в интервале [-0.5, 13].
% Создадим следующий сценарий под именем sdif2 :
ezplot(x1,0,13),grid,hold on,ezplot(x2,[0,13]),title (‘Однородная система 2-х уравнений’)
8.3. Решить систему неоднородных дифференциальных уравнений
с нулевыми начальными условиями и построить график решения в интервале [0, 5] для первой координаты и в интервале [0, 9] для второй координаты .
% Создадим следующий сценарий под именем sdif3 :
ezplot(x1,[0,5]),grid,hold on,ezplot(x2,[0,9]),title( ‘ Неоднородная система 2-х уравнений ‘)
8.4. Решить дифференциальное уравнение 2-го порядка с нулевыми начальными условиями и построить график решения в интервале [-0.2, 9] .
% Создадим следующий сценарий под именем sdif4 :
ezplot(x,[-0.2 9]),grid,title (‘Д иф.уравнение 2-го порядка ‘)
8.5. Решить дифференциальное уравнение 3-го порядка с нулевыми начальными условиями и построить график решения в интервале [-0.2, 21] .
% Создадим следующий сценарий под именем sdif5 :
ezplot(x,[-0.2 21]),grid,title (‘Диф.уравнение 3-го порядка’)
8.6. Решить неоднородную систему дифференциальных уравнений 3-го порядка
с нулевыми начальными условиями и построить график решения по каждой координате в одной системе координат в интервале [-1, 19] с различными цветами по , , .
% Создадим следующий сценарий под именем sdif6 :
ezplot(x1,[-1,19]),grid, hold on,ezplot(x2,[-1,19],
title (‘Н еоднородная система 3-го порядка ‘),
% Функция ezplot не позволяет строить графики с заданными цветами. Применим fplot . Для этого в функцию fplot следует вставить решения из командного окна MATLAB. Например, решение по первой координате имеет вид
% Тогда формат записи fplot для графика по х1 будет следующий (с красным цветом):
% Через hold on можно добавить еще fplot по второй координате х2 и по третьей х3.
¾ Для объекта с передаточной функцией решить соответствующее дифференциальное уравнение при нулевых начальных условиях и построить график решения (переходный процесс).
¾ Для того же объекта с передаточной функцией W(s) записать систему дифференциальных уравнений первого порядка, решить ее и сравнить с решением соответствующего дифференциального уравнения 3-го порядка.
¾ Исследовать переходной процесс по выходным координатам двух колебательных звеньев, соединенных последовательно. Передаточные функции звеньев принять в виде:
¾ Решение в символьном виде систем дифференциальных уравнений сравнить с решением численного метода с помощью решателя ode45.
- MATLAB — алгебра
- Решение основных алгебраических уравнений в MATLAB
- Решение основных алгебраических уравнений в октаве
- Решение квадратичных уравнений в MATLAB
- Решение квадратичных уравнений в октаве
- Решение уравнений высшего порядка в MATLAB
- Решение уравнений высшего порядка в октаве
- Решение системы уравнений в MATLAB
- Решающая система уравнений в октаве
- Разложение и сбор уравнений в MATLAB
- Расширяя и собирая уравнения в октаве
- Факторизация и упрощение алгебраических выражений
- пример
- Квадратное уравнение Matlab
- Стандартное отклонение (линейная регрессия) на научном калькуляторе Casio fx 82MS
- 🎬 Видео
Видео:5 способов решения квадратного уравнения ➜ Как решать квадратные уравнения?Скачать
MATLAB — алгебра
До сих пор мы видели, что все примеры работают как в MATLAB, так и в его GNU, альтернативно называемом Octave. Но для решения основных алгебраических уравнений и MATLAB, и Octave немного отличаются, поэтому мы постараемся охватить MATLAB и Octave в отдельных разделах.
Мы также обсудим факторизацию и упрощение алгебраических выражений.
Видео:Как в MATLAB Simulink моделировать уравнения (Структурная схема САУ)Скачать
Решение основных алгебраических уравнений в MATLAB
Функция решения используется для решения алгебраических уравнений. В простейшем виде функция решения принимает в качестве аргумента уравнение, заключенное в кавычки.
Например, давайте решим для х в уравнении х-5 = 0
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Вы также можете вызвать функцию решения как —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Вы можете даже не включать правую часть уравнения —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Если в уравнение входит несколько символов, то по умолчанию MATLAB предполагает, что вы решаете для x, однако функция решения имеет другую форму —
где вы также можете упомянуть переменную.
Например, давайте решим уравнение v — u — 3t 2 = 0, для v. В этом случае мы должны написать —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Видео:MatLab для новичков. Решаем case с квадратным уравнением.Скачать
Решение основных алгебраических уравнений в октаве
Функция корней используется для решения алгебраических уравнений в Octave, и вы можете написать приведенные выше примеры следующим образом:
Например, давайте решим для х в уравнении х-5 = 0
Octave выполнит приведенный выше оператор и вернет следующий результат —
Вы также можете вызвать функцию решения как —
Octave выполнит приведенный выше оператор и вернет следующий результат —
Видео:2 - Решениt систем линейных алгебраических уравнений (СЛАУ) с помощью Matlab.Скачать
Решение квадратичных уравнений в MATLAB
Функция решения также может решать уравнения более высокого порядка. Он часто используется для решения квадратных уравнений. Функция возвращает корни уравнения в массиве.
В следующем примере решается квадратное уравнение x 2 -7x +12 = 0. Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Видео:Квадратные уравнения от «А» до «Я». Классификация, решение и теорема Виета | МатематикаСкачать
Решение квадратичных уравнений в октаве
В следующем примере решается квадратное уравнение x 2 -7x +12 = 0 в октаве. Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Видео:Решение произвольных уравнений. Методы вычислений в MATLAB. Часть 1. Урок 61Скачать
Решение уравнений высшего порядка в MATLAB
Функция решения также может решать уравнения более высокого порядка. Например, давайте решим кубическое уравнение как (x-3) 2 (x-7) = 0
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
В случае уравнений более высокого порядка корни длинные, содержащие много членов. Вы можете получить числовое значение таких корней, преобразовав их в двойные. В следующем примере решается уравнение четвертого порядка x 4 — 7x 3 + 3x 2 — 5x + 9 = 0.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он возвращает следующий результат —
Обратите внимание, что последние два корня являются комплексными числами.
Видео:Решение биквадратных уравнений. 8 класс.Скачать
Решение уравнений высшего порядка в октаве
В следующем примере решается уравнение четвертого порядка x 4 — 7x 3 + 3x 2 — 5x + 9 = 0.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он возвращает следующий результат —
Видео:Решение квадратных уравнений. Дискриминант. 8 класс.Скачать
Решение системы уравнений в MATLAB
Функция решения также может быть использована для генерации решений систем уравнений, включающих более одной переменной. Давайте рассмотрим простой пример, чтобы продемонстрировать это использование.
Давайте решим уравнения —
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Таким же образом вы можете решать большие линейные системы. Рассмотрим следующую систему уравнений —
Видео:Логарифмы с нуля за 20 МИНУТ! Introduction to logarithms.Скачать
Решающая система уравнений в октаве
У нас есть немного другой подход к решению системы ‘n’ линейных уравнений с ‘n’ неизвестными. Давайте рассмотрим простой пример, чтобы продемонстрировать это использование.
Давайте решим уравнения —
Такая система линейных уравнений может быть записана в виде единого матричного уравнения Ax = b, где A — матрица коэффициентов, b — вектор столбцов, содержащий правую часть линейных уравнений, а x — вектор столбцов, представляющий решение как показано в программе ниже —
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Таким же образом, вы можете решить большие линейные системы, как указано ниже —
Видео:Самый короткий тест на интеллект Задача Массачусетского профессораСкачать
Разложение и сбор уравнений в MATLAB
Функция расширения и сбора расширяет и собирает уравнение соответственно. Следующий пример демонстрирует понятия —
Когда вы работаете со многими символическими функциями, вы должны объявить, что ваши переменные являются символическими.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Видео:MatLab. 9.5f. Функция решения алгебраических уравнений – solveСкачать
Расширяя и собирая уравнения в октаве
Вам нужно иметь символьный пакет, который обеспечивает расширение и функцию сбора для расширения и сбора уравнения, соответственно. Следующий пример демонстрирует понятия —
Когда вы работаете со многими символическими функциями, вы должны объявить, что ваши переменные являются символическими, но у Octave другой подход к определению символических переменных. Обратите внимание на использование Sin и Cos , которые также определены в символической упаковке.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Видео:Решение систем Д/У: 1. Знакомство с функциями odeXYСкачать
Факторизация и упрощение алгебраических выражений
Факторная функция разлагает выражение, а функция упрощения упрощает выражение. Следующий пример демонстрирует концепцию —
пример
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Видео:1 - Решение систем нелинейных уравнений в MatlabСкачать
Квадратное уравнение Matlab
Видео:Комплексные числа: коротко и понятно – Алексей Савватеев | Лекции по математике | НаучпопСкачать
Стандартное отклонение (линейная регрессия) на научном калькуляторе Casio fx 82MS
Борьба с квадратным уравнением MATLAB. Я получаю сложное число по мере того, как мой ответ и другие ошибки продолжают возникать.
Напишите функцию MATLAB, которая решает квадратное уравнение вида a*x^2 + b*x + c = 0
Синтаксис вашей функции должен иметь вид
где a , b а также c — квадратичные коэффициенты; а также quadRoots1 а также quadRoots2 два определенных корня. Для случая, когда присутствует только один корень (например, когда a=1 , b=2 а также c=1 ), вы должны установить второй выход на NaN (не число). Если корни отсутствуют, установите для обоих выходов значение NaN .
- Это было давно, но если мне не изменяет память, если b ^ 2 — 4ac if заявление для проверки, так ли это
- Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это домашнее задание, и OP не показал никаких попыток.
- Я получаю сложное число по мере того, как мой ответ и другие ошибки продолжают возникать. Что пробовали? Отредактируйте свой вопрос и добавьте свою лучшую попытку. См. Stackoverflow.com/help/how-to-ask
Обязательно проверьте, соответствует ли число под знаком корня в квадратной формуле:
- Положительный ( >0 ): два различных действительных корня,
- Равно нулю ( ==0 ): единственный действительный пронумерованный вырожденный корень (или, точнее, два неотличных корня).
- Отрицательный ( : ваши корни сложны (вспомните sqrt(-1) = i , с нашей воображаемой единицей i ). Судя по звучанию ваших вопросов, кажется, что вы должны относиться к сложным, как если бы «корней нет».
Вы можете проверить приведенные выше случаи в своей функции Q1_quadratic(. ) используя if-elseif-else пункт, например:
- Это, очевидно, домашнее задание, и ОП не проявил никакой попытки. Почему вы дадите исчерпывающий ответ?
- 1 @Jubobs Ой, беда, я бегло просмотрел вопрос, чтобы быстро понять, что это, очевидно, вопрос домашнего задания (теперь очень очевидно, после того, как Стив отредактировал среду цитаты). Я согласен, что на домашние задания не следует отвечать с такой полнотой, приношу свои извинения, я просто пропустил этот вопрос из-за собственного забвения.
- Хорошо; Я рада, что ты сделал это не специально.
- @Jubobs Я рада, что ты мне сказал. Разобравшись с этим, я должен удалить этот ответ сейчас, как вы думаете? Думаю, рано или поздно вопрос будет закрыт.
- 1 Я бы сказал, оставь это. Сейчас, наверное, слишком поздно снимать его, и это имеет значение.
🎬 Видео
Как решать квадратные уравнения без дискриминантаСкачать
MatLab. Решение дифференциального уравнения.Скачать
Математика это не ИсламСкачать
Алгебра 8. Урок 9 - Квадратные уравнения. Полные и неполныеСкачать
Комплексные корни квадратного уравненияСкачать
Как решать квадратные уравнения. 8 класс. Вебинар | МатематикаСкачать