Cześć,
w kodzie który napisałem, kompilator wyrzuca błąd w linii 30; mianowicie (Error: Illegal qualifier) i (Fatal: Syntax error, ) expected but ordinal const found).
Byłym bardzo wdzięczny za pomoc w wskazaniu błędu gdyż nie jestem w stanie go znaleźć. Być może za długo już nad tym myślę i nie myślę trzeźwo.
Przepraszam jeśli kod jest źle wklejony bądź jest nieczytelny. Nie jestem programistą ale starałem się go pisać w miarę czytelnie. Zastanawiam się też, czy skonstruowana przeze mnie pętla jest poprawna. Będę bardzo wdzięczny za wytknięcie wszelkich błędów przez które program nie będzie działać.
program Untitled;
uses
crt;
type
tablica=array [1..10000] of real;
var
eps,e,z1,z2: real;
F11,F21,W11,W12,W21,W22,x,y: tablica; //W(i,j) to element Jacobianu z danej kolumny i wiersza, F(i,j) to element funkcji pierwotnej
i: integer;
begin
clrscr;
WriteLn('Program rozwiazuje uklad rownan nieliniowych metoda Newtona:');
Writeln('F(x,y) = cos(0,4y - x^2) + x^2 + y^2 -1,6 = 0');
WriteLn('G(x,y) = 1,5x^2 - (y^2)/0,36 - 1 = 0');
WriteLn('dla x0 = 1,04 i y0 = 0,47');
WriteLn;
Write('Podaj dokładnosc obliczen: ');
ReadLn(eps);
WriteLn();
x[1]:=1.04; //Warunek początkowy
y[1]:=0.47; //Warunek początkowy
i:=1;
repeat
F11[i]:=cos(0.4*y[i]+x[i]^2)+x[i]^2+y[i]^2-1.6; //Kolejne elementy funkcji pierwotnej
F21[i]:=1.5*x[i]^2-((y[i]^2)/0.36)-1;
W11[i]:=-2*x[i]*sin(x[i]^2+0.4*y[i])+2*x[i]; //Kolejne elementy Jacobianu czyli macierzy pochodnych funkcji F(x,y) i G(x,y)
W12[i]:=-0.4*sin(0.4*y[i]+x[i]^2)+2*y[i]; //Liczby po symbolu zmiennej oznaczają wiersz i kolumnę jaką dana zmienna zajmuje w macierzy
W21[i]:=3*x[i];
W22[i]:=-2*y[i]/0.36;
x[i+1]:=x[i]-(((1/(W11[i]*W22[i]-W12[i]*W21[i])))*(W22[i]*F11[i]-W12[i]*F21[i])*F11[i]); //To jest właściwa część kodu odpowiadająca za znajdowanie kolejnych rozwiązań
y[i+1]:=y[i]-(((1/(W11[i]*W22[i]-W12[i]*W21[i])))*(W11[i]*F21[i]-W21[i]*F11[i])*F21[i]);
z1:=x[i+1]-x[i];
z2:=y[i+1]-y[i];
e:=sqrt(z1^2+z2^2);
i:=i+1; //iteracja
until
e<=eps;
WriteLn('x',i,' = ',x[i]);
WriteLn('y',i,' = ',y[i]);
ReadLn;
end.