Есептеу графикалық ЖҰмыс 1 Пәні : Моделирование процессов и систем в среде matlab тақырыбы



Дата17.10.2023
өлшемі174,82 Kb.
#116676

«Ғ.ДАУКЕЕВ АТЫНДАҒЫ АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ»
Коммерциялық емес акционерлік қоғам
«Автоматтандыру және басқару» кафедрасы
ЕСЕПТЕУ ГРАФИКАЛЫҚ ЖҰМЫС 1
Пәні : Моделирование процессов и систем в среде MATLAB
Тақырыбы: Функцияларды аппроксимациялау
Мамандығы: 6В07125 Биотехнические и медицинские системы и аппараты
Орындаған​:
Тобы:
Нұсқа: 1
Қабылдаған
___________ __________________ «___» ___________ 2023 ж.
(бағасы) (қолы)

Алматы 2023


1 Функцияларды аппроксимациялау


Жұмыс мақсаты: ең кіші квадраттар әдісмен функцияларды жуықтау процедурасын үйрену.
1.4 Жұмысты орындау тәртібі
1. **Функция мен интервалды анықтаңыз**

Біз `f(t) = t - sin(t)` функциясын анықтап, интервалды таңдауымыз керек. `[0, 2*pi]` аралығын таңдадық делік.


``` Matlab


t = linspace(0, 2*pi, 10); % 0 және 2*pi арасында бірдей аралықтағы 10 нүкте жасайды
f = t - sin(t); % Функция жуықтау
```

2. **Жүйенің коэффициенттерін есептеңдер**


Содан кейін полиномдық қисық фитингті пайдаланып функцияны жуықтаймыз. Ол үшін MATLAB жүйесінде «полифит» функциясын пайдалануға болады.


``` Matlab


p1 = полифит(t,f,1); % 1-ші тапсырыс
p2 = полифит(t,f,2); % 2-ші рет
p3 = полифит(t,f,3); % 3-ші рет
p4 = полифит(t,f,4); % 4-ші рет
```

3. **Көпмүшелік функцияны табыңыз**

Коэффициенттерді тапқаннан кейін оларды көпмүше түрінде жаза аламыз:


``` Matlab


syms x;
poly1 = poly2sym(p1, x);
poly2 = poly2sym(p2, x);
poly3 = poly2sym(p3, x);
poly4 = poly2sym(p4, x);
```

Әрбір көпмүшені «поливал» функциясы арқылы бағалауға болады.


4. **Графиктерді құру**


Келесі қадам салыстыру үшін осы функцияларды сызу болады. Ол үшін MATLAB-та `plot` функциясын пайдалануға болады:


``` Matlab


fplot(поли1, [0, 2*pi]); күте тұр
fplot(поли2, [0, 2*pi]); күте тұр
fplot(поли3, [0, 2*pi]); күте тұр
fplot(поли4, [0, 2*pi]); күте тұр
сюжет(t,f,'o'); ұстаңыз
легенда('1-ші ретті','2-ші ретті','3-ші ретті', '4-ші ретті', 'бастапқы функция')
```

5. **Жақындау дәлдігі**

Жақындаудың дәлдігін анықтау үшін квадрат қалдықтардың қосындысын немесе орташа квадраттық қатені (RMSE) пайдалануға болады:


``` Matlab


err1 = sqrt(орташа((поливаль(p1,t) - f).^2));
err2 = sqrt(орташа((поливаль(p2,t) - f).^2));
err3 = sqrt(орташа((поливаль(p3,t) - f).^2));
err4 = sqrt(орташа((поливаль(p4,t) - f).^2));
```

6. **Салыстыру**


Соңында әртүрлі дәрежедегі көпмүшеліктерді салыстыруға болады:


``` Matlab


дисп(поли1);
disp(поли2);
disp(poly3);
disp(poly4);

fprintf("Қате (1-ші рет) = %.4f\n", err1);


fprintf("Қате (2-ші рет) = %.4f\n", err2);
fprintf("Қате (3-ші рет) = %.4f\n", err3);
fprintf("Қате (4-ші рет) = %.4f\n", err4);
```

Осы MATLAB кодын қажеттіліктеріңізге сәйкес бейімдеңіз. Жоғары ретті көпмүше қажет болса, «полифит» функциясында дәрежені арттыруға болады. Маңызды ескертулердің бірі - көпмүшенің сәйкестігі реті артқан сайын жақсаруы мүмкін, бірақ көпмүшенің реті тым жоғары болса, артық сәйкестендіру орын алуы мүмкін.




Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет