|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.03.2012, 19:38 | #1 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 3
|
Построение графика(Полином Лагранжа)
Здравствуйте, написал с учителем программу, которая строит полином Лагранжа по заданным точкам, всё работает, но проблема в том, что программа строит график от первой до последней из указанных точек, получается кусок, вырванный из графика, а мне нужно полный график, полный его вид, а не кусок на интервале. Крайний срок это воскресение. Очень нужно. Спасибо большое.
Код:
|
16.03.2012, 19:39 | #2 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 3
|
Код:
|
16.03.2012, 19:39 | #3 |
Новичок
Джуниор
Регистрация: 16.03.2012
Сообщений: 3
|
Нужно срочно. Прошу помогите
|
22.12.2013, 22:15 | #4 |
Новичок
Джуниор
Регистрация: 11.11.2013
Сообщений: 1
|
как работает программа, будьте добры объясните
// вычисление procedure TForm1.N5Click(Sender: TObject); var i: integer; begin Memo1.Clear; Memo2.Clear; Series1.Clear; Meth.Step:=StrToFloat(LabeledEdit1. Text); for i:=1 to Meth.N do begin Meth.x[i]:=StrToFloat(StringGrid1.Cells[i,1]); Meth.y[i]:=StrToFloat(StringGrid1.Cells[i,2]); end; for i:=0 to Meth.N-1 do begin Meth.x1[i]:=StrToFloat(StringGrid1.Cells[i+1,1]); Meth.y1[i]:=StrToFloat(StringGrid1.Cells[i+1,2]); end; Meth.Lagr; Edit3.Text:=FloatToStr(Meth.PointLa g(StrToFloat(Edit2.Text))) end; unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls,Math; type Tvector = array [1..10] of real; Tvector1 = array [0..9] of real; TMatr = array [1..10] of array[1..10] of real; Methods = class N:integer; x,y,a:Tvector; y1,x1:Tvector1; mas:TMatr; Step:real; Polinom: string; procedure Lagr; function PointLag(point:real):real; end; implementation uses Unit1; procedure Methods.Lagr(); Var MassivA: array [1..10]of array [1..10]of real; MassivB: array[1..10] of real; MassivX: array[1..10] of real; i,j,k:byte; h, step, count:real; Mx,My:real; begin for i:=1 to N do begin MassivB[i]:=y[i]; for j:=1 to N do MassivA[j,i]:=Power(x[j],i-1); end; {прямой ход -исключение переменных} for k:=1 to n-1 do for i:=k+1 to n do begin MassivA[i,k]:=-MassivA[i,k]/MassivA[k,k]; for j:=k+1 to n do begin MassivA[i,j]:=MassivA[i,j]+MassivA[i,k]*MassivA[k,j]; end; MassivB[i]:=MassivB[i]+MassivA[i,k]*MassivB[k]; end; MassivX[n]:=MassivB[n]/MassivA[n,n]; {обратный ход нахождение корней} for k:=n-1 downto 1 do begin h:=MassivB[k]; for j:=k+1 to n do h:=h-MassivX[j]*MassivA[k,j]; MassivX[k]:=h/MassivA[k,k]; end; for i:=1 to n do a[i]:=MassivX[i]; Polinom:='y(x)= '; // построение многочлена for i:=0 to N-1 do begin if ((i=N-1) or (i=0)) then begin if (i=N-1) then begin if(a[N-i]<0) then Polinom:=Polinom+FloatToStr(RoundTo (a[N-i], -4)) else Polinom:=Polinom+ '+'+FloatToStr(RoundTo(a[N-i], -4)); end else Polinom:=Polinom+FloatToStr(RoundTo (a[N-i], -4))+'x^'+IntToStr(N-i-1); end else begin if(a[N-i]<0) then Polinom:=Polinom+FloatToStr(RoundTo (a[N-i], -4))+'x^'+IntToStr(N-i-1) else Polinom:=Polinom + '+'+FloatToStr(RoundTo(a[N-i], -4))+'x^'+IntToStr(N-i-1); end; end; Form1.Memo2.Lines.Add(Polinom); |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Построение графика в VC++ | taralesh | Помощь студентам | 0 | 24.05.2011 19:18 |
Построение графика интерполяционного многочлена Лагранжа (Delphi) | RobSys | Помощь студентам | 4 | 29.10.2010 21:08 |
построение графика | tanka123 | Microsoft Office Excel | 1 | 17.06.2009 09:17 |
полином лагранжа | milate | Общие вопросы C/C++ | 10 | 24.05.2009 13:44 |
построение графика | deadh5n1 | Помощь студентам | 2 | 13.09.2008 19:06 |