IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Линейная интерполяция
Женя
сообщение 21.12.2004 23:05
Сообщение #1


Гость






Условие:

---
Пусть функция y(x) задана таблицей:

Xi X1 X2 X3 ... Xm
Yi Y1 Y2 Y3 ... Ym

Составить программу для вычисления значения этой функции в произвольной точке X1<=X<=Xm по формуле линейной интерполяции:
Цитата
                  X - Xi
Y(X) = Yi + --------- * (Yi+1 - Yi)
                Xi+1 - Xi

, где Xi<=X<=Xi+1

Расчёт функции оформить в виде подпрограммы. Таблица и значение аргумента вводятся, результат расчёта выводить в главной программе.

> i+1, 2, 3, m, i - это всё нижний индекс.
---

Вот начал делать, и что-то не получается.. пожалуйста, проведите корректировку:

Код

program inter;
type
mas=array [1..10] of real;
var x,y: mas;
i,m,n:integer;
g:real;

Procedure Input (m1:integer; var x1:mas);
var i:integer;
begin
writeln ('Введите значения X: ');
for i:=1 to m1 do
readln (x1[i]);
end;

Procedure Input1 (m1:integer; var y1:mas);
var i:integer;
begin
writeln ('Введите значения Y: ');
for i:=1 to m1 do
readln (y1[i]);
end;

Function Summa (m1,n1:integer;x1,y1:mas):real;
var i:integer;
s:real;
begin
for i:=1 to m1-1 do
begin
if x1[i+1]-x1[i]=0 then begin writeln('y(x) - не существует.');
end
else
s:=y1[i]+((x1[n1]-x1[i])/(x1[i+1]-x1[i]))*(y1[i+1]-y1[i]);
end;
summa:=s;
end;

begin
writeln ('Введите количество элементов X, Y: ');
readln(m);
Input (m,x);
Input1 (m,y);
Writeln ('Введите произвольную точку: ');
readln(n);
g:=summa (m,n,x,y);
writeln ('Значения равны: ',g:10:5);
readln
end.


Заранее благодарен!

Сообщение отредактировано: volvo - 22.12.2004 0:28
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Женя   Линейная интерполяция   21.12.2004 23:05
volvo   Вообще-то, насколько я помню, интерполяция произво...   22.12.2004 1:04
Jill   а возможно ли... - произвести не линейную, а сплай...   4.01.2006 11:15
volvo   Jill, Кубический сплайн не подойдет (по-моему, даж...   4.01.2006 11:30
Jill   подойдет, конечно :) пошла разбираться... а пол...   4.01.2006 11:44
volvo   Вот это посмотри: http://bib.com.ua/info863.html   4.01.2006 12:13
Jill   ого! проектик... попробуй, разберись... 1. не...   4.01.2006 13:20
volvo   Во-первых, EGAVGA.BGI скопируй в директорию с прое...   4.01.2006 13:47
Jill   EGAVGA.BGI валяется в директории, в строке иниц...   4.01.2006 14:17
volvo   Нет, графика инициализируется именно с пустой стро...   4.01.2006 14:34
Jill   посмотрела :) volvo, а по моим координатам гра...   4.01.2006 14:47
volvo   Ну, а координаты-то свои привести можешь? А то тел...   4.01.2006 14:53
Jill   вот они :-) -1E+0000 1.0090E+0000 -0.9E+0000 0...   4.01.2006 14:58
volvo   DrawGraph(@Lagrange, GetMin(Data), GetMax(Data), ...   4.01.2006 15:23
Jill   супер! :) вот где собака порылась... повтор...   4.01.2006 15:36
volvo   Вот чего я наваял... Изменяешь процедуру DrawGrap...   4.01.2006 18:43
Jill   Супер! Узлы - то, что надо :good: volvo, я...   4.01.2006 22:26
volvo   Jill, насколько я вижу, если MAKEDATA.PAS переимен...   4.01.2006 22:39
Jill   пасиба за объяснения :) volvo, у меня тут еще ...   5.01.2006 1:08
Jill   volvo, посмотри, пожалуйста почему-то процедура L...   6.01.2006 15:14
volvo   Что значит "не хочет"? The Data : -1.0...   6.01.2006 15:36
Jill   спасибо, volvo, уже разобралась :) что-то у меня п...   6.01.2006 15:54
Jill   настал черед коеффициентов полинома Ньютона... выч...   6.01.2006 17:46
volvo   Вот тут глянь, по-моему, там более доступно, чем в...   7.01.2006 2:17


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 11:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"