Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2023, 22:04   #1
natatttt
 
Регистрация: 08.04.2023
Сообщений: 9
Вопрос Аппроксимация функций MATLAB

Помогите, пожалуйста, с задачами по компьютерной алгебре: Аппроксимация функций
Я сделала 1 задание, не очень понимаю, как сделать 2-4

1. Написать m-файл-функцию для интерполирования функции y = f (x)на отрезке [a,b] с помощью полинома Лагранжа при равномерной сетке узлов. Входными параметрами m-файла-функции должны быть массив узлов интерполирования, массив значений интерполируемой функции в узлах и аргумент x, при котором вычисляется значение полинома Лагранжа (контрольная точка). Выходной параметр m-файла-функции – значение интерполяционного полинома в точке x.

Код:
function res = lagrange(nod, val, x)
%nod–массив узлов интерпол-ия
%val–массив значений интерпол.ф-ии
%х–аргумент
res=0;
n = length(nod);
for i=1:n
    p=1;
    for j=1:n
        if j~=i
            p=p*(x-nod(j))/(nod(i)-nod(j));
        end
    end
    res=res+p*val(i);
end
end
2. Использовать написанную m-файл-функцию для интерполирования конкретной функции:

Код:
%конкретная функция
function res=f(x)
res=x.^6-2*x-7;
return
Результаты интерполирования представить в виде графиков интерполируемой функции и интерполяционного полинома в одном графическом окне. Число узлов выбрать равным 3–5. Шаг между узлами интерполирования выбрать равномерным, шаг по переменной x при построении графиков функций выбрать кратным шагу между узлами интерполирования с тем, чтобы можно было наблюдать значения функции и полинома в узлах.

3. Выполнить интерполирование заданной функции с помощью стандартных средств Matlab и сравнить с результатами, полученными по собственным программам.

4. Выполнить интерполирование заданной функции с наилучшим выбором узлов интерполирования по формуле:
xi=((b-a)*zi/2)+((b+a)/2), i=0,n (от 0 до n), где zi–узлы (zi=cos((2i+1)/(2(n+1))π)), п–число пи, i=0,n. Результаты сравнить с результатами, полученными на равномерной сетке узлов.
natatttt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление значений математических выражений и построение графиков функций в MatLab Rixoz Помощь студентам 0 12.05.2020 18:38
Аппроксимация функций. Метод Гаусса kobrin13 Помощь студентам 0 20.11.2013 00:16
Delphi: аппроксимация функций методом базиса из финитных функций Denna Помощь студентам 1 12.03.2012 19:23
аппроксимация leks92 Помощь студентам 1 22.02.2012 14:37
аппроксимация функций natasha Общие вопросы Delphi 6 26.08.2008 19:07