- •1.Введение
- •2.Численное интегрирование
- •2.1 Метод трапеций
- •3.2 Схема алгоритма
- •3.3 Текст программы
- •3.4 Результат работы программы
- •3.Решение нелинейного уравнения
- •3.1 Решение нелинейного уравнения методом хорд-касательных.
- •3.2 График заданной функции
- •3.2 Текст программы.
- •3.3 Результат работы программы.
- •3.4 Алгоритм программы
- •4. Решение системы линейных алгебраических уравнений.
- •4.2. Описание метода
- •4.2. Схема алгоритма
- •4.3. Текст программы
- •4.4. Результаты работы программы
- •5. Проверка в программе wxMaxima
- •5.1Численное интегрирование
- •5.2 Нелинейное уравнение, слау
- •6.Заключение
- •7.Список использованной литературы
- •7.1 Реферативное описание прикладной программы Opera.
4.2. Схема алгоритма
i=r,n,1
да
ar-1,r-1<0.000001
q=ai,r-1 / ar-1,r-1
ai,j=ai,j-ar-1,j*q
bi=bi-br-1*q
нет
r = 2,n,1
j = r-1,n,1
Рис. 4.1 Схема алгоритма программы
xn=bn/an
xi=(bi-S)/aii
i =n-1,1,-1
S=0
S=S+aij*xj
i =i+1,n,1
Рис. 4.1 Схема алгоритма программы. Продолжение
p = 1,n,1
q = 1,n,1
да
ar-1,r-1<0.000001
нет
COLOR 10
COLOR 7
Рис. 4.1 Схема алгоритма процедуры Matr
4.3. Текст программы
REM Программа выполняет решение СЛАУ квадратного типа методом Гаусса
REM ввод данных
CLS
PRINT : PRINT : PRINT " Программа для решения СЛАУ методом Гаусса"
PRINT : PRINT
REM задание порядка системы
INPUT "Порядoк системы n - ", N
REM ввод данных
PRINT "Bвод данных (a)"
FOR i = 1 TO N STEP 1
FOR j = 1 TO N STEP 1
PRINT "a("; i; ","; j; ") - ";
INPUT a(i, j)
NEXT j
NEXT i
PRINT "Bвод данных (a)"
FOR i = 1 TO N STEP 1
PRINT "b("; i; ") - ";
INPUT b(i)
NEXT i
REM печать матрицы
PRINT : PRINT : PRINT "Исходная система:"
GOSUB MATR
REM ожидание нажатия любой клавиши
PRINT INPUT$(1)
CLS
REM ПРЯМОЙ ХОД (обнуление столбцов)
PRINT : PRINT "Обнуление столбцов"
FOR r = 2 TO N
FOR i = r TO N
REM **** проверка перед делением ******
IF ABS(a(r - 1, r - 1)) < .000001 THEN
PRINT r; i
PRINT " 0-ой элемент в "; r - 1; " строке"
END
END IF
REM **************************************
REM вычисление множителя q
q = a(i, r - 1) / a(r - 1, r - 1)
REM вычитание свободных членов
b(i) = b(i) - b(r - 1) * q
REM вычитание строк
FOR j = r - 1 TO N
a(i, j) = a(i, j) - a(r - 1, j) * q
NEXT j
NEXT i
REM печать промежуточной матрицы
GOSUB MATR
NEXT r
REM ОБРАТНЫЙ ХОД (вычисление корней)
PRINT "Вычисление корней"
REM последний корень
x(N) = b(N) / a(N, N)
PRINT "x("; N; ")="; USING "##.##"; x(N)
REM обратный цикл
FOR i = N - 1 TO 1 STEP -1
REM вычислить S (подставить в уравнение уже известные х-ы)
S = 0
FOR j = i + 1 TO N
S = S + a(i, j) * x(j)
NEXT j
REM вычислить корень
x(i) = (b(i) - S) / a(i, i)
PRINT "x("; i; ")="; USING "##.##"; x(i)
NEXT i
END
REM *******************
REM процедура печати матрицы
MATR:
FOR p = 1 TO N STEP 1
FOR q = 1 TO N STEP 1
IF ABS(a(p, q)) < .000001 THEN
COLOR 10
ELSE COLOR 7
END IF
PRINT USING "###"; a(p, q);
NEXT q
PRINT USING "#####"; b(p);
NEXT p
RETURN