Лабораторна робота №5
Тема. Вивчення основ роботи з системою для
математичних та інженерних розрахунків
Мета: оволодіти основами
роботи з MATLAB для виконання математичних та інженерних розрахунків,
розв'язання лінійних рівнянь, чисельного диференціювання та інтегрування,
розв'язання диференціальних рівнянь, статистичних розрахунків і побудови
графіків.
MATLAB (Matrix Laboratory)
— це середовище для чисельних обчислень, аналізу даних та розв'язання задач у
різних галузях, таких як інженерія, математика, фізика тощо. Воно надає потужні
інструменти для лінійної алгебри, статистики, аналізу даних, побудови графіків
і багатьох інших операцій.
У цій лабораторній роботі ми ознайомимося з основними операціями
MATLAB, які використовуються в інженерних та математичних розрахунках:
1. Розв'язок лінійних рівнянь:
3x+2y=5
x+4y=6
Для її розв’язку можна застосувати метод
матричного ділення в MATLAB, лістинг 1.
Лістинг 1
– Код програми
____________________________________________________________________
A = [3 2;
1 4];
b = [5;
6];
x = A \
b;
disp('Рішення системи:');
disp(x);
Кінець
лістингу 1
2. Чисельне
диференціювання та інтегрування. Для функції f(x) = x^2 + 3x
+ 2 обчислимо чисельну похідну за допомогою методу кінцевих
різниць, лістинг 2.
Лістинг 2 – Код програми
____________________________________________________________________
f = @(x) x^2 + 3*x + 2;
h = 1e-5;
x = 2;
% Чисельне диференціювання
dfdx = (f(x+h) - f(x)) /
h;
disp('Похідна функції в точці x = 2:');
disp(dfdx);
% Функція для інтегрування
f = @(x) x^2 + 3*x + 2;
% Межі інтегрування
a = 0;
b = 1;
% Інтеграція
integral_value = integral(f, a,
b);
disp('Значення інтегралу на [0, 1]:');
disp(integral_value);
____________________________________________________________________Кінець
лістингу 2
3. Розв'язок
диференціальних рівнянь. Розв’яжемо диференціальне
рівняння за допомогою функції ode45, лістинг 3.
Лістинг 3 – Код програми
____________________________________________________________________
ode = @(t, y) -2*y + 1; % Диференціальне рівняння
y0 = 0;
% Початкова умова
tspan = [0 5];
% Проміжок часу
% Рішення рівняння
[t, y] = ode45(ode, tspan, y0);
% Побудова графіку
plot(t, y);
title('Рішення диференціального рівняння');
xlabel('Час');
ylabel('y(t)');
____________________________________________________________________Кінець
лістингу 3
4.
Статистичні
розрахунки. Ми обчислимо середнє значення та стандартне
відхилення для наступного набору даних: [1,2,3,4,5,6,7,8,9,10], лістинг 4.
Лістинг 4
– Код програми
____________________________________________________________________
data = [1, 2, 3, 4, 5, 6, 7,
8, 9, 10];
% Обчислення
середнього значення та
стандартного відхилення
mean_value = mean(data);
std_dev = std(data);
disp('Середнє
значення:');
disp(mean_value);
disp('Стандартне
відхилення:');
disp(std_dev);
____________________________________________________________________Кінець
лістингу 4
5. Побудова графіків,
лістинг 5.
Лістинг 5
– Код програми
____________________________________________________________________
f = @(x) x.^2 + 3*x + 2; % Функція
x = linspace(-10,
10, 100); % Вектор значень x
y = f(x);
% Обчислення значень функції
% Побудова графіка
plot(x, y);
title('Графік функції f(x) = x^2 + 3x + 2');
xlabel('x');
ylabel('f(x)');
grid on;
____________________________________________________________________Кінець
лістингу 5
Інженерні практичні завдання
в MATLAB часто включають застосування чисельних методів, вирішення реальних
інженерних задач, моделювання та аналіз даних.
Наприклад, розрахунок сили струму в ланцюзі. Визначити
силу струму в колі з напругою 10 В та опором 5 Ом,
лістинг 6.
Лістинг 6
– Код програми
____________________________________________________________________
U = 10; % Напруга в
вольтах
R = 5; % Опір в омах
% Розрахунок сили струму
I = U / R;
disp('Сила струму в колі:');
disp(I)
____________________________________________________________________Кінець
лістингу 6
Лістинг 7 – Код програми
____________________________________________________________________g = 9.81;
% Прискорення вільного падіння (м/с^2)
l = 1; % Довжина
маятника (м)
theta0 = 0.1; %
Початковий кут (рад)
omega0 = 0; % Початкова
швидкість
% Рівняння маятника
ode = @(t, y) [y(2); -g/l * sin(y(1))]; % система диференціальних рівнянь
% Розв'язок рівняння
[t, y] = ode45(ode, [0 10], [theta0,
omega0]);
% Побудова графіка
plot(t, y(:,1));
title('Коливання маятника');
xlabel('Час (с)');
ylabel('Кут відхилення (рад)');
grid on;
Кінець
лістингу 7
Завдання для виконання
Таблиця 1 – Варіанти завдань
