Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Реализация метода в среде MatLab
1. Подпрограмма для нахождения коэффициентов многочлена:
function res=Polinom(x, y, k, n); A=zeros(k+1, 1); x1=zeros(n+1, k+1); for i=1: n+1 for j=1: k+1 x1(i, j)=x(i, 1)^(j-1); end end A=inv(x1.'*x1)*x1.'*y; res = A; return
x, y – заданный набор точек; k – степень полинома; n – количество точек.
2. Функция для нахождения аппроксимирующего многочлена для заданной функции:
function res=Aproxim(x, A, k); n=length(x); for j=1: n sum=0; for i=1: k+1 sum=sum+A(i)*x(j)^(i-1); end; y(j)=sum; end; res=y; return
A-коэффициенты многочлена; k- степень многочлена.
3. Построим графики многочленов первой и второй степеней, аппроксимирующих заданную функцию:
> > x=[-2; -1; 0; 1; 2; 3; 4]; > > y=[1.8; 1.8; 2.5; 3.1; 3.7; 2.2; 1.9]; > > A1=Polinom(x, y, 1, 6) A1 = 2.3464 0.0821 > > A2=Polinom(x, y, 2, 6) A2 =2.7929 0.3798 -0.1488 > > xx=-2: 0.001: 6; > > f1=Aproxim(xx, A1, 1); > > f2=Aproxim(xx, A2, 2); > > plot(x, y, 'O', xx, f1, xx, f2) > > plot(x, y, 'O', xx, f1, xx, f2)
:
Использование Basic Fitting
Варианты лабораторных работ
|