Лабораторна робота №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

 

Моделювання механічного коливання. Моделювати коливання маятника з початковим кутом 0.1 рад та початковою швидкістю 0 на інтервалі часу від 0 до 10 секунд, лістинг 7.

Лістинг 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 – Варіанти завдань