Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Лабораторна робота №1
Тема: «Основні команди і функції MATLAB»
Виконав:
ст.гр. АВ-1
Львів – 2008
Мета роботи: Вивчити формати основних команд і функцій MATLAB, навчитися застосовувати їх для розв’язування задач лабораторних робіт даної дисципліни.
Розв’язування нелінійних рівнянь
Для розв’язування нелінійних рівнянь в MATLAB 4.х призначена функція fzero. Формат цієї функції такий: fzero(’ім’я функції’, х0, tol), де х0 – нульове наближення розв’язку; tol – точність шуканого розв’язку, що задається користувачем.
Розв’язування звичайних диференційних рівнянь (систем)
Для розв’язування систем нелінійних рівнянь а MATLAB 5.х призначена функція fsolve. Формат цієї функції наступний: fsolve(’ім’я функції’, х0, tol), де ’ім’я функції’ – процедура-функція, в якій всі рівняння системи представлені у вигляді fi=0, i= (n – кількість невідомих); х0 – нульове наближення розв’язку; tol – точність шуканого розв’язку, що задається користувачем.
Числове інтегрування
Для обчислення інтегралів числовим методом використовують дві функції, формати яких є такими: quad(’ім’я функції’,a,b,tol) і quat8(’ім’я функції’,a,b,tol),
Де ’ім’я функції’ – ім’я процедури-функції, в якій записано підінтегральний вираз; a,b – відповідно верхня і нижня границі інтегрування; tol – точність обчислення визначеного інтегралу.
Розв’язування звичайних диференційних рівнянь (системи)
Для чисельного інтегрування звичайних диференційних рівнянь (ЗДР) (систем звичайних диференційних рівнянь) в MATLAB є декілька функцій
Апроксимація експериментальних даних поліномом
Для апроксимації експериментальних даних в MATLAB використовують функцію polyfit (x,y,n), де y – значення функції при відповідних значеннях аргументу х; n – степінь полінома p(x), яким апроксимують експериментальні дані. Функція polyfit знаходить коефіцієнти полінома p(x) в степені n, який апроксимує функцію y(x) методом найменших квадратів. Для обчислення значення полінома у точках х використовують функцію polyval (p,x), де p – вектор значень коефіцієнтів полінома p(x) n-ї степені.
Порядок виконання роботи
1. Протабулювати функцію і побудувати її графік на заданому інтервалі
y=tg|3x|+|cos(x)-1| x [-π/5, π/3]
function y=kom1(x);
y=tan(abs(3*x))+abs(cos(x)-1);
%kom_lab1
clear,clc
x1=-pi/5;
x2=pi/3;
n=10;
xt=[x1:(x2-x1)/n:x2];
yt=tan(abs(3*xt))+abs(cos(xt)-1);
yt=kom1(xt);
disp('x');disp(xt');
disp('y');disp(yt');
xg=[x1:(x2-x1)/100:x2];
yg=tan(abs(3*xg))+abs(cos(xg)-1);
yg=kom1(xg);
x_z=fzero('kom1',(x1+x2)/2);
figure('numbertitle','off','name','y=f(x)');
plot(xg,yg,'b',xt,yt,'or',x_z,0,'*g','linewidth',2);grid
xlabel('x');
ylabel('y');
title('Graphic KOMARETSKIY');
s1=quad('kom1',x1,x_z,1e-5)
s2=quad('kom1',x_z,x2,1e-5)
s3=quad('kom1',x1,x2,1e-5)
x
-0.6283
-0.4608
-0.2932
-0.1257
0.0419
0.2094
0.3770
0.5445
0.7121
0.8796
1.0472
y
-2.8867
5.3465
1.2515
0.4038
0.1272
0.7484
2.1953
-15.7499
-1.3327
-0.1872
0.5000
s1 = 9.5034
s2 = -11.1031
s3 = -1.5943
2. Розв’язати систему звичайних диференційних рівнянь (ЗДР)
y'=x+y2 x [0, 1], y(0)=0.5;
function z=kom2(x,y);
z=x+y.^2;
%kom_lab1
clear,clc
x1=-pi/5;
x2=pi/3;
n=10;
xt=[x1:(x2-x1)/n:x2];
yt=tan(abs(3*xt))+abs(cos(xt)-1);
yt=kom1(xt);
disp('x');disp(xt');
disp('y');disp(yt');
xg=[x1:(x2-x1)/100:x2];
yg=tan(abs(3*xg))+abs(cos(xg)-1);
yg=kom1(xg);
x_z=fzero('kom1',(x1+x2)/2);
[x,y]=ode23('kom2',0,1,0.1);
figure('numbertitle','off','name','y=f(x),dy/dx=f(x)');
plot(x,y,'b',x,kom2(x,y),'r');grid;
legend('y=f(x)','dy/dx=fx');
3.Апроксимувати експериментальні дані поліномами 1, 2 і
3-го порядків.
x
y
-12
-11
-10
-9
-8
-7
-6
-5
-4
-3
1
2.1
2.9
...