Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/62: Рейтинг темы: голосов - 62, средняя оценка - 4.82
Arseniiy
1 / 1 / 0
Регистрация: 03.05.2012
Сообщений: 3
1

Интерполяция функции по формулам Лагранжа

03.05.2012, 21:43. Просмотров 11475. Ответов 4
Метки нет (Все метки)

Имеется код Полинома Лагранжа. Что необходимо поправить чтоб можно было вводить X и Y массивы. и получать вывод график Полинома Лагранжа с узлами интерполяции

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear
function L_n = Lag2 (x,y,xx)
%x-массив координат узлов
%y-массив значений интерполируемой функции
N=length(x); % узнаем число узлов интерполяции (N=n+1)
L_n = zeros(size(xx));
s=0;
for k=1:N
    P=ones(size(xx));
  for i=1:N
      if k~=i
          P=P.*(xx-x(i))./(x(k)-x(i));
          %.* - поэлементное умножение
          %./ - поэлементное деление
      end
  end
    L_n = L_n + y(k)*P;
end
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 21:43
Ответы с готовыми решениями:

Интерполяция функции двух переменных многочленом Лагранжа
Зосима, Написать программу в Matlab, тема: Интерполяция функции двух...

Написать две программы для интерполяции функции по формулам Лагранжа при равномерном расположении узлов
Доброго времени суток. Помогите, пожалуйста. Есть такое задание: написать две...

Интерполяция многочленом Лагранжа
Добрый вечер. В программировании не разбираюсь абсолютно. Пытаюсь реализовать...

Интерполяция полиномом Лагранжа
Написал программу для интерполяции функции полиномом Лагранжа. Получается...

Интерполяция многочленом Лагранжа
подскажите, есть ли стандартная реализация функции интерполирования методом...

4
Arseniiy
1 / 1 / 0
Регистрация: 03.05.2012
Сообщений: 3
04.05.2012, 23:45  [ТС] 2
Понял что программа не работает из за того, что не заданна функция Lag2 которая является функцией ввода для пользователей. Как её организовать? Нужно ввести x и y
0
Arseniiy
1 / 1 / 0
Регистрация: 03.05.2012
Сообщений: 3
09.05.2012, 20:12  [ТС] 3
Программа упростилась.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
clear
a=0;
b=3.5;
x=[0 0.25 1.25 2.125 3.25]; %x-массив координат узлов
y=[5 4.6 5.7 5.017 4.33]; %y-массив значений интерполируемой функции
xx=linspace(a,b,1000);
N=length(x); % узнаем число узлов интерполяции
L_n = zeros(size(xx)); % создаем нулевой массив значений интерполяционного полинома
% в цикле считаем сумму по узлам
for k=1:N
    % вычисляем произведения
    P=ones(size(xx));
  for i=1:N
      if k~=i
          P=P.*(xx-x(i))./(x(k)-x(i));
          %.* - поэлементное умножение
          %./ - поэлементное деление
      end
  end
    L_n = L_n + y(k)*P; % накапливаем сумму
end
plot(xx,L_n,'r')
hold on
plot(x,y,'bo')
Помогите переделать. Хочется чтобы был диалог с пользователем, а не изменение вручную в коде программы переменных x,y,a,b.

Добавлено через 10 часов 8 минут
Как ввести массив чисел с помощью функции input, или другой функции но чтоб это был массив чисел? Например такой массив [2 3 4 5 6]
1
Olzh
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 2
10.04.2014, 06:04 4
>> M{end+1}=input('введите что-то: ') типо вот те то, что ты хотел...
0
Olzh
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 2
21.04.2014, 09:06 5
хотя так думаю будет проще
x=input('введите значение икс в квадратных скобках ')
0
21.04.2014, 09:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 09:06

Численная интерполяция полиномом Лагранжа
Вот получил задание, на выполнение интерполяции. Помогите. Задание X: | 1...

Интерполяция методом лагранжа. Поправьте
Друзья, прошу вашей помощи. Интерполяция функциональных зависимостей методом...

Интерполяция кусочнозаданной функции
Есть задача: дан набор значений С1 = f(t) таблица значений. if x<=2 C1 =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru