Основні команди і функції MATLAB

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
MATLAB
Група:
АВ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка»  Лабораторна робота №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 3.5 5.5 4.9 5.0 3.8 2.7 2.2  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); xe=[-12 -11 -10 -9 -8 -7 -6 -5 -4 -3]; ye=[1 2.1 2.9 3.5 5.5 4.9 5.0 3.8 2.7 2.2]; p1=polyfit(xe,ye,1); f1=polyval(p1,xe); p2=polyfit(xe,ye,2); f2=polyval(p2,xe); p3=polyfit(xe,ye,3); f3=polyval(p3,xe); whitebg; figure('numbertitle','off','name','aproximation'); plot(xe,ye,'*r',xe,f1,'k',xe,f2,'g',xe,f3,'b');grid;xlabel('x');ylabel('y'); D1=f1-ye; d1=D1./ye.*100; del_s1=sqrt(sum(d1.^2)); D2=f2-ye; d2=D2./ye.*100; del_s2=sqrt(sum(d2.^2)); D3=f3-ye; d3=D3./ye.*100; del_s3=sqrt(sum(d3.^2)); disp(['polinom 1-го порядку - ' num2str(del_s1) '%']); disp(['polinom 2-го порядку - ' num2str(del_s2) '%']); disp(['polinom 3-го порядку - ' num2str(del_s3) '%']); polinom 1-го порядку - 207.2036% polinom 2-го порядку - 49.5356% polinom 3-го порядку - 42.4928%  Висновок: На цій лабораторній роботі я вивчив формати основних команд і функцій MATLAB (для чого кожен із них призначений), застосовувати їх для розв’язування лабораторних робіт даної дисципліни, навчився будувати різні графіки в середовищі MATLAB, застосовувати
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!