20.03.2019, 05:04 [+3 UTC]
в нашей команде: 3 474 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.72 (17.03.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
09.03.2019, 10:08

Форум:
18.03.2019, 16:49

Последний вопрос:
19.03.2019, 15:15
Всего: 149055

Последний ответ:
19.03.2019, 17:48
Всего: 258002

Последняя рассылка:
19.03.2019, 23:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
26.05.2012, 08:48 »
Иван Васильевич Митяев
Спасибо! [вопрос № 186184, ответ № 270995]
26.04.2010, 14:38 »
Dimon4ik
Спасибо за совет. Я просмотрел - на http://en.wikipedia.org/wi ki/ASCII действительно много информации обо всем связанном с ASCII кодировкой. Многие моменты очень полезны. [вопрос № 178042, ответ № 261026]
11.02.2019, 10:35 »
dar777
Это самое лучшее решение! [вопрос № 194610, ответ № 277448]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 776
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 473
solowey
Статус: Студент
Рейтинг: 246

Перейти к консультации №:
 

Консультация онлайн # 193311
Раздел: • С / С++
Автор вопроса: pNod (1-й класс)
Отправлена: 24.05.2018, 21:15
Поступило ответов: 0

Здравствуйте, уважаемые эксперты! Прошу вас помощи в решении следующего вопроса: требуется разработать программу интерполяции, используя полином Ньютона. Функция задана таблично.
x 0.1 0.15 0.45 1.00 2.00 2.50
f(x) 2.5 2.20 2.10 1.15 1.20 1.95
Входные данные беру из файла (текстовый):
1) собственно указанные узы сетки
2) значения функции
3) новая сетка {xj} = j * 0.1, j = 0,1,2.
4) порядок полинома
На выход должно быть:
1) новая сетка
2) значения функции уже по новой сетке
3) погрешность интерполирования
Так как узлы отстоят друг от друга на разном расстоянии, то получается нужна формула для неравномерной сетки:



Понятно, что первичную сетку, значения функции можно задать массивами, указав сначала порядок полинома (по первичной сетке порядок ПЯТЬ, затем прочитать узлы сетки в цикле, где условие будет n=5).
Вопрос 1. Но как задать новую сетку? Она же не должна иметь столько же узлов, что и интерполируемая? У меня, например, их три... Как в этом случае скачать массив с узлами новой сетки из файла? Придется еще указывать размер массива, а я хотела более менее универсальный подход использовать.
Вопрос 2. Если игнорировать вопрос чтения из файла, и переделать под мои условия программу, найденную здесь, все заканчивается зависанием ПК. smile

#include	<stdio.h>

void	main(void)
{
	const	int n = 5;
	double	Xi[6] = {0.1,   0.15,   0.45,   1.00,   2.00,   2.50};
	double	Yi[6] = {2.5,   2.20,   2.10,   1.15,   1.20,   1.95};
	double	X[3] = {0, 0.1, 0.2};
	double	f[3], LN[3], XXX, XX=1.;
	int		i, j, k, m;

 for(m=0; m<n; m++)
{
	for (i=1, LN[i]=Yi[0]; i<n; i++)
	{
		XX *= (X[m]-Xi[i-1]);
		for (j=0,f=0.0; j<=i; j++)
		{
			for (k=0,XXX=1.; k<=i; k++)
			{
				if (k!=j)
					XXX *= Xi[j]-Xi[k];
			}
			f[j] += Yi[j]/XXX;
		}
		LN[i] += XX * f[j];
}
}
	printf("Y[X] = %g\n",LN);
}


Помогите, пожалуйста, найти ошибку!
Вопрос 3 Как найти погрешность? Можно ли вынести ее отдельной функцией?
smile

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 193311
pNod
1-й класс

ID: 401172

# 1

= общий = | 25.05.2018, 22:49 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Остался только третий вопрос, остальное сделала (если меня кто-то читает...) smile
Как найти погрешность при интерполяции по Ньютону, при неравномерной сетке? smile

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13612 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.72 от 17.03.2019
Версия JS: 1.33 | Версия CSS: 3.35