Autor Wiadomość
vbazyl
PostWysłany: Pią 1:06, 30 Lis 2007    Temat postu:

Z tego co pamiętam to obliczyć całkę metodą prostokątów i jakiś układ równań metodą gaussa. Całka jakby ktoś chciał:

Kod:

float f(float x)
{
  return x*sin(x*x)+5;
};

float calka(int N)
{
  float xp=0;
  float xk=2*3.14;
  float sz=(xk-xp)/N;
  xk=(xp+sz);
  float suma=0;
  float sr=(xp+xk)/2;
  for(int i=0;i<N;i++)
  {
    suma+=sz*f(sr);
    xp=xk;
    xk=xp+sz;
    sr=(xp+xk)/2;
  };
  return suma;
};

int main(int argc, char *argv[])
{
    calka(4);
    setprecision(3);
    cout<<"    n     |    I      |    I(n)-I(n+1)"<<endl;
    cout<<"    2     |  "<<calka(2)<<"  |    "<<calka(2)-calka(4)<<endl;
    cout<<"    4     |  "<<calka(4)<<"  |    "<<calka(4)-calka(8)<<endl;
    cout<<"    8     |  "<<calka(8)<<"   |    "<<calka(8)-calka(16)<<endl;
    cout<<"    16    |  "<<calka(16)<<"  |    "<<calka(16)-calka(32)<<endl;
    cout<<"    32    |  "<<calka(32)<<"  |    "<<calka(32)-calka(64)<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
boro
PostWysłany: Czw 23:42, 29 Lis 2007    Temat postu:

PS1

wie ktoś co trzeba zrobić z metod numerycznych na środę? przynam się ze nie słuchałem faceta na zajęciach a bardzo chciałbym oddać program w nast.tygodniu :)
eewkaa
PostWysłany: Nie 16:50, 25 Lis 2007    Temat postu:

Rozwiązać metodą iteracji.
Wypisać rozwiązania (kolejne przybliżenia?) do pliku i w Excelu narysować wykresy.

Albo coś w tym stylu...
Jeśli ktoś pamięta coś więcej niech mnie poprawi.
czart
PostWysłany: Sob 10:51, 24 Lis 2007    Temat postu:

Co trzeba zrobić z tą ostatnią funkcją (x^2-2) pamięta ktoś ??
boro
PostWysłany: Wto 22:19, 20 Lis 2007    Temat postu:

www.chomikuj.pl/grupa1pb w katalogu '2 rok' jest kilka programow
fala (aka tomek)
PostWysłany: Wto 22:04, 20 Lis 2007    Temat postu:

tylko jak ktoś by chciał się podzielić tymi programami to najlepiej może niech zamieści na forum kody Wink tak żeby większa rzesza mogła z nich skorzystać, bo np ja też nie pamiętam już co trzeba napisać Razz
wicher
PostWysłany: Wto 19:31, 20 Lis 2007    Temat postu:

Ja bym też prosił o programy z dwóch (a nawet trzech) ostatnich zajęć bo za bardzo nie wiem co trzeba było zrobić.
boro
PostWysłany: Wto 18:47, 20 Lis 2007    Temat postu:

Dzięki Cheester. Wysłałem ci Czarcie na maila kilka programów. Może coś ci się przyda.
Cheester
PostWysłany: Wto 18:25, 20 Lis 2007    Temat postu:

wynik Newtona jest bardzo niedokładny, może ktoś ulepszy:

program newka;
uses crt;
var
licznik,licznik2,licznik3:integer;
a,b,x,fa,fb:real;

procedure bisekcja(var x:real; a,b:real;z:integer);
var
fa,fb,fx,eps:real;
begin
fa:=sin(a)+5*cos(5*a);
fb:=sin(b)+5*cos(5*b);
repeat
if (z=1) then licznik:=licznik+1;
if (z=2) then licznik2:=licznik2+1;
eps:=b-a;
if (z=1) then x:=a+(b-a)/2; if (z=2) then x:=a-fa*(b-a)/(fb-fa);
fx:=sin(x)+5*cos(5*x);
if (fa*fx<0) then
begin
fb:=fx;
b:=x;
end
else
begin
fa:=fx;
a:=x;
end;
until eps<0.001;
end;



procedure Newton( xb,xc:real;var w:real;var i:integer);
var xa:real;
eps:real;
begin
eps:=0.001;
xa:=xc;
if (cos(xb)-25*sin(5*xb))=0 then exit;
xb:=xa-(sin(xa)+5*cos(5*xa))/(cos(xa)-25*sin(5*xa));
i:=1;
while abs(xa-xb)>Eps do
begin
if (cos(xb)-25*sin(5*xb))=0 then exit;
xc:=xb-(sin(xb)+5*cos(5*xb))/(cos(xb)-25*sin(5*xb));
xa:=xb;
xb:=xc;
inc(i);
w:=xa;
end;
end;


begin
a:=0;
b:=1;
clrscr;
while (b<3.14*4) do
begin
licznik:=0;
licznik2:=0;
fa:=sin(a)+5*cos(5*a);
fb:=sin(b)+5*cos(5*b);
if fa*fb<0 then
begin
newton(a,b,x,licznik3);
write(x,' '); write(licznik3,' ');
bisekcja(x,a,b,1); write(x,' '); write(licznik,' ');
bisekcja(x,a,b,2); write(x,' '); writeln(licznik2,' ');
end;
a:=a+1;
b:=b+1;
end;
readln;
end.
czart
PostWysłany: Wto 18:11, 20 Lis 2007    Temat postu:

Ja bym prosił o zadania z 2-3 ostatnich zajęć bo troche odpuściłem sobie i juz teraz nie wiem nawet co trzeba przyniesc ;d
boro
PostWysłany: Wto 17:11, 20 Lis 2007    Temat postu: Metody Numeryczne - Domówki

Ma ktoś może zrobione zadanie z MN na jutro i jest chętny do podzielenia sie nim /ps1/ ?

mam nadzieje ze to nie bedzie zakwalifikowane jako spam :]

Powered by phpBB © 2001, 2005 phpBB Group