Численные методы

Автор: Алинв Алешечкина, 09 Июня 2010 в 14:04, шпаргалка

Описание работы

нахождение корней уравнения методом сканирования
PROGRAM SCAN;
CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение);
VAR I:INTEGER; H,X:REAL;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=…(Функция);
END;
BEGIN
X:=X1;
H:=(X2-X1)/N;
FOR I:=1 TO N DO BEGIN
IF F(X)*F(X+H)<=0 THEN WRITELN(X);
X:=X+H;
END;
END.

Работа содержит 1 файл

Численные методы.doc

— 42.00 Кб (Скачать)

ЧИСЛЕННЫЕ МЕТОДЫ. 

  1. НАХОЖДЕНИЕ  КОРНЕЙ УРАВНЕНИЯ МЕТОДОМ СКАНИРОВАНИЯ
 

    PROGRAM SCAN;

    CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение);

    VAR I:INTEGER; H,X:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    BEGIN

    X:=X1;

    H:=(X2-X1)/N;

    FOR I:=1 TO N DO BEGIN

    IF F(X)*F(X+H)<=0 THEN WRITELN(X);

    X:=X+H;

    END;

    END. 
     

  1. НАХОЖДЕНИЕ  КОРНЕЙ УРАВНЕНИЯ  МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ
 

    PROGRAM DELEN;

    CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;

    VAR I:INTEGER; H,X,C:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B:REAL);

    BEGIN

    WHILE ABS(B-A)>E DO BEGIN

    C:=(A+B)/2;

    IF F(A)*F(B)<=0 THEN B:=C

    ELSE A:=C;

    END;

    WRITELN(C);

    END;

    BEGIN

    X:=X1;

    H:=(X2-X1)/N;

    FOR I:=1 TO N DO BEGIN

    IF F(X)*F(X+H)<=0 THEN PD(X,X+H);

    X:=X+H;

    END;

    END. 
     

  1. НАХОЖДЕНИЕ  КОРНЕЙ УРАВНЕНИЯ  МЕТОДОМ ХОРД
 

    PROGRAM XOPDA;

    CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;

    VAR I:INTEGER; H,X,C,C1:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B:REAL);

    BEGIN

    REPEAT C1:=C;

    C:=A-(F(A)*(B-A))/(F(B)-F(A))

    IF F(A)*F(B)<=0 THEN B:=C

    ELSE A:=C;

    UNTIL ABS(C1-C)<E;

    WRITELN(C);

    END;

    BEGIN

    X:=X1;

    H:=(X2-X1)/N;

    FOR I:=1 TO N DO BEGIN

    IF F(X)*F(X+H)<=0 THEN PD(X,X+H);

    X:=X+H;

    END;

    END. 

    

  1. НАХОЖДЕНИЕ КОРНЕЙ УРАВНЕНИЯ МЕТОДОМ ИТЕРАЦИЙ
 

    PROGRAM ITERA;

    CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001;

    VAR I:INTEGER; H,X,X3:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    FUNCTION FI(X:REAL):REAL;

    BEGIN

    FI:=… (Функция );

    END;

    PROCEDURE PD(X:REAL);

    BEGIN

    REPEAT X3:=X;

    X:=FI(X);

    UNTIL ABS(X3-X)<E;

    WRITELN(X);

    END;

    BEGIN

    X:=X1;

    H:=(X2-X1)/N;

    FOR I:=1 TO N DO BEGIN

    IF F(X)*F(X+H)<=0 THEN PD(X);

    X:=X+H;

    END;

    END. 
     
     

  1. НАХОЖДЕНИЕ  КОРНЕЙ УРАВНЕНИЯ  МЕТОДОМ НЬЮТОНА
 

    PROGRAM NIUTON;

    CONST N=100; X1=…(Меньшее значение);X2=…(Большее значение); E=0.001; DX=0.0001;

    VAR I:INTEGER; H,X,X3:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    FUNCTION F1(X:REAL):REAL;

    BEGIN

    F1:=(F(X+DX)-F(X+DX))(2*DX);

    END;

    PROCEDURE PD(X:REAL);

    BEGIN

    REPEAT X3:=X;

    X:=X-F(X)/F1(X);

    UNTIL ABS(X3-X)<E;

    WRITELN(X);

    END;

    BEGIN

    X:=X1;

    H:=(X2-X1)/N;

    FOR I:=1 TO N DO BEGIN

    IF F(X)*F(X+H)<=0 THEN PD(X);

    X:=X+H;

    END;

    END. 

  1. ВЫЧИСЛЕНИЕ  ОПРЕДЕЛЁННОГО ИНТЕГРАЛА  МЕТОДОМ ПРЯМОУГОЛЬНИКОВ (3 СПОСОБА)
 

    PROGRAM PRIAM;

    VAR I,N:INTEGER; H,X,S,A,B,K:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B,K:REAL);

    BEGIN

    H:=(B-A)/H;

    X:=K;S:=0;

    FOR I:=1 TO N DO BEGIN S:=S+F(X);

    X:=X+H;

    END;

    S:=S*H;

    WRITELN(S);

    END;

    BEGIN

    READ(A,B,N);

    PD(A,B,A);   ‘  ЛЕВЫЕ

    PD(A,B,A+H);  ‘ ПРАВЫЕ

    PD(A,B,A+H/2);  ‘ СРЕДНИЕ

    END. 

  1. ВЫЧИСЛЕНИЕ  ОПРЕДЕЛЁННОГО ИНТЕГРАЛА  МЕТОДОМ ТРАПЕЦИЙ
 

    PROGRAM TRAPEZ;

    VAR I,N:INTEGER; H,X,S,A,B:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B:REAL);

    BEGIN

    S:=0;H:=(B-A)/N;

    S:=(F(A)+F(B))/2;

    X:=A+H;

    FOR I:=1 TO N-1 DO BEGIN

    S:=S+F(X);

    X:=X+H;

    END;

    WRITELN(S*H);

    END;

    BEGIN

    READ (A,B,N);

    PD(A,B);

    END. 
     
     

  1. ВЫЧИСЛЕНИЕ  ОПРЕДЕЛЁННОГО ИНТЕГРАЛА  МЕТОДОМ СИМПСОНА
 

    PROGRAM SIMPSON;

    VAR I,N:INTEGER; H,X,S,A,B,S1:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B:REAL);

    BEGIN

    S:=0; H:=(B-A)/(2*N);

    X:=A+H;

    FOR I:=1 TO N DO BEGIN

    S:=S+F(X);

    X:=X+2*H;

    END;

    S1:=0; X:=A+2*H;

    FOR I:=1 TO N-1 DO BEGIN

    S1:=S1+F(X);

    X:=X+2*H;

    END;

    S:=S*4;

    S1:=S1*2;

    WRITELN(H/3*(F(A)+F(B)+S+S1));

    END;

    BEGIN

    READ (A,B,N);

    PD(A,B);

    END. 
     

  1. НАХОЖДЕНИЕ  ЭКСТРЕМУМОВ ФУНКЦИИ  МЕТОДОМ «ЗОЛОТОГО  СЕЧЕНИЯ»
 

    PROGRAM SECHEN;

    CONST E=0.001;

    VAR I:INTEGER; H,G,X,X1,X2:REAL;

    FUNCTION F(X:REAL):REAL;

    BEGIN

    F:=…(Функция);

    END;

    PROCEDURE PD(A,B:REAL);

    BEGIN

    G:=(SQRT(5)-1)/2;

    X1:=A+G*(B-A);

    X2:=B-G*(B-A);

    REPEAT

    IF F(X1)<F(X2) THEN BEGIN

    A:=X2; X2:=X1; X1:=A+G*(B-A);

    END;

    UNTIL ABS(B-A)<E;

    WRITELN(X1);

    END;

    BEGIN

    READ(X,H);

    IF F(X)<F(X+H) THEN H:=-H;

    REPEAT X:=X+H;

    UNTIL F(X)<F(X+H)

    PD(X-H,X+H);

    WRITELN(X-H,X+H);

    WRITELN;

    END.

Информация о работе Численные методы