Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 25.02.2012, 21:25   #1 (permalink)
Lomz0r
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача в Паскале на построение графика функции

Цитата:
program Spline;
uses crt;
type vector=array [0..100] of real;
var x,y,c:vector;
x0,x9,h,x1,p,p1,p2,e:real;
n,i:integer;

procedure InputData (var n:integer; var x,y:vector);
var i:integer;
begin
write ('vvedite kol-vo to4ek n (3<n<100): ');
read (n);
for i:=1 to n do begin
write ('vvedite to4ku x[',i,'], f(x[',i,']): ');
read (x[i-1], y[i-1]);
end;
end;

procedure Coeff(n:integer; var x,f,c:vector);

var i,j,m:integer;
a,b,r:real;
k:vector;
begin

k[1]:=0; c[1]:=0;
for i:=2 to n do begin
j:=i-1;
m:=j-1;
a:=x[i]-x[j];
b:=x[j]-x[m];
r:=2*(a+b)-b*c[j];
c[i]:=a/r;
k[i]:=(3.0*((f[i]-f[j])/a-(f[j]-f[m])/b)-b*k[j])/r;
end;

c[n]:=k[n];
for i:=n-1 downto 2 do c[i]:=k[i]-c[i]*c[i+1];
end;

procedure Spl (n:integer; var x,f,c:vector; x1:real; var p,p1,p2:real);
{postroenie splina. x,f - ishodnie dannie, c - vektor coeff,
naydenniy proceduroy Coeff, x1 - zna4enie x, dlya kotorogo stroim spline,
p - zna4enie splina v to4ke, p1,p2 - 1-ya i 2-ya proizvodnie}
var i,j:integer;
a,b,d,q,r:real;
begin
i:=1;
while (x1>x[i]) and (i<>n) do i:=i+1;

j:=i-1; a:=f[j]; b:=x[j]; q:=x[i]-b;
r:=x1-b; p:=c[i]; d:=c[i+1];
b:=(f[i]-a)/q - (d+2*p)*q/3.0;
d:=(d-p)/q*r;

p1:=b+r*(2*p+d);
p2:=2*(p+d);
p:=a+r*(b+r*(p+d/3.0))
end;

begin
clrscr;
writeln;
InputData (n,x,y);

Coeff (n,x,y,c);

writeln ('zna4enie X':19,'zna4enie F(X)':19,'zna4enie':19,'zna4enie':19);
for i:=0 to n do begin
Spl (n,x,y,c,x[i],p,p1,p2);
e:=abs(y[i]-p);
writeln (x[i]:19:8,y[i]:19:8,p:19:8,e:19:8);
end;
readln;
end.
имеется данная программа вычисления кубического сплайна функции по заданным точкам.
Необходимо: 1)построить график данной функции (ЯП: фрее паскаль, паскаль авс) программа сделана под абс, но для удобства можете переделать ее под другую.
2) построить еще один график (чтоб были 2 вместе)
3) дописать рядом код считывания значения функции в данной точек (вообще не критично, если что сам добью).
2,3 пункт не так важны как 1, т.к. никогда не имел дело с графикой. Спасибо. (можно переделать программу под любой другой удобный вам паскаль)
Если отдельные моменты вычисления функции не понятны (методы прогонки для вычисления коэффициентов и т. д. могу пояснить.)
Lomz0r вне форума   Ответить с цитированием

Старый 25.02.2012, 21:25
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

По заголовкам нашлось еще кое что схожее, можете посмотреть

Задача на Паскале
Задача о принадлежности точки графику функции
Функции на Паскале
Задача на Паскале...
Построение графика в MathLab 2008

Старый 27.02.2012, 20:24   #2 (permalink)
Lomz0r
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

никто не может помочь чтоли?)
Lomz0r вне форума   Ответить с цитированием
Старый 29.02.2012, 18:47   #3 (permalink)
Lomz0r
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

не все сразу, ребят, давайте по одному
Lomz0r вне форума   Ответить с цитированием
Старый 14.05.2012, 19:36   #4 (permalink)
Lomz0r
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо всем откликнувшимся, я таки сам добил эту программу, и по хорошей традиции код не выложу :Р
Lomz0r вне форума   Ответить с цитированием
Старый 15.05.2012, 00:51   #5 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

А зря, код кому нибудь помог бы в следующий раз.
Gruvi вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 15.05.2012, 00:54   #6 (permalink)
Daniellos
Хозяин Медной Горы
 
Аватар для Daniellos
 
Регистрация: 01.08.2011
Адрес: Армавир
Сообщений: 12,159
Записей в дневнике: 8
Сказал(а) спасибо: 751
Поблагодарили 88 раз(а) в 27 сообщениях
Репутация: 57416
По умолчанию

Цитата:
Сообщение от Lomz0r Посмотреть сообщение
спасибо всем откликнувшимся, я таки сам добил эту программу, и по хорошей традиции код не выложу
Завтра не обломаюсь, листинг программы выложу...
Daniellos вне форума   Ответить с цитированием
Старый 15.05.2012, 17:11   #7 (permalink)
Lomz0r
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Gruvi Посмотреть сообщение
А зря, код кому нибудь помог бы в следующий раз.
да я добил программу и на конференции ее представил, херачит графики по контрольным измерениям
если кому понадобится скину конечно
Lomz0r вне форума   Ответить с цитированием
Старый 17.10.2012, 11:37   #8 (permalink)
Stacey
Новичок
 
Регистрация: 17.10.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Мне очень понадобилось)) Можешь мне скинуть?)
Stacey вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:19.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.