
Вычислительная математика
Описание
Вычислительная математика представлена в доступной форме с использованием примеров, графических интерпретаций и популярных языков программирования, таких как Basic, Pascal и C#. Книга охватывает точные и приближенные методы, включая решение систем линейных уравнений, численное интегрирование и дифференцирование, решение задачи Коши для обыкновенных дифференциальных уравнений и методы конечных разностей. Также рассматриваются оптимизационные задачи и построение эмпирических формул. Практические примеры и программы на Pascal и C# помогут читателям освоить методы вычислительной математики на практике. Понимание физической сущности математических задач подчеркивается как важный аспект.
Методы вычислительной математики делятся на точные и приближенные. Точные методы применяются в тех случаях, когда известны расчетные формулы, а также конкретное значение коэффициентов в них.
Существуют ситуации, когда расчетная формула неизвестна, или слишком сложна; величины, которые используются в вычислениях, заданы неявно; коэффициенты, содержащиеся в уравнениях, известны лишь приблизительно. Поэтому важное значение приобретают способы приближенного нахождения решения и оценки степени их точности.
Предлагаются к изучению простейшие численные модели, решение систем линейных уравнений, численное интегрирование и дифференцирование, методы решения задачи Коши для обыкновенных дифференциальных уравнений, методы конечных разностей решения уравнений в частных производных.
Методы вычислительной математики применяются также для поиска экстремального значения целевой функции в оптимизационных задачах, в том числе в нелинейных.
При обработке результатов эксперимента часто возникает задача построения эмпирической формулы, дающей аналитическое выражение функциональной зависимости, заданной таблицей. Для этого пользуются аппроксимацией функций по способу наименьших квадратов.
При использовании численных методов необходимо помнить о физической сущности рассматриваемых математических задач.
Некоторые задачи вычислительной математики можно решить, используя возможности табличного процессора Excel. Практически все задачи вычислительной математики можно решить в среде программного продукта Mathcad.
НАХОЖДЕНИЕ ПОЛИНОМА ПО СХЕМЕ ГОРНЕРА
Для вычисления полинома n-й степени можно использовать схему Горнера: Y=((…((an*x +an-1)*x + an-2)*x +… +a2)*x + a1)*x + a0
рекуррентная формула при этом выражается в виде:
i = n Yi = аn Yi – 1= Yi x + ai
Алгоритм метода
Пример программы на языке Pascal
VAR N,I:INTEGER;X,Y:REAL;A:ARRAY[0..10] OF REAL;
BEGIN
WRITE('Введите N=');READLN(N);
WRITE('Введите X=');READLN(X);
WRITELN('Введите коэффициенты:');
FOR I:=0 TO N DO BEGIN
WRITE('A[',I,']=');READLN(A[I]);END;
Y:=A[N];
FOR I:=N-1 DOWNTO 0 DO Y:=Y*X+A[I];
WRITELN('Результат Y=',Y); END.
ВЫЧИСЛЕНИЕ ОПРЕДЕЛЕННЫХ ИНТЕГРАЛОВ
Задача численного интегрирования состоит в нахождении приближенного значения интеграла. Отрезок (ab) разбивается на определенное число интервалов N, в зависимости от требуемой точности вычисления.
Формула ПРЯМОУГОЛЬНИКА
шаг: h=(b-a)/N
Геометрическая интерпретация метода:
Формула ТРАПЕЦИИ
шаг: h=(b-a)/N
Геометрическая интерпретация метода:
Алгоритм метода трапеций:
Решить задачу:
Методом трапеций найти значение интеграла функции Y = x – Cos(x) в пределах от 0 до 2.
Пример программы (Pascal):
PROGRAM P10;
FUNCTION FUN(X:REAL):REAL;
BEGIN
FUN:=X-COS(X); END;
VAR H,X,Y,A,B:REAL; I,N:INTEGER;
BEGIN
WRITELN('Ввести данные A(0),B(2),N(1000) = ');
READ(A,B,N);
X:=0; Y:=0; H:=(B-A)/N;
FOR I:=1 TO N-1 DO BEGIN
X:=X+H;Y:=Y+FUN(X);END;
Y:=H/2*(FUN(A)+FUN(B)+2*Y);WRITELN('Результат= ',Y);
END.
(Результат для 1000 шагов: 1.09070287627348)
Решить задачу:
Задача. Найдите значение определенного интеграла от функции на интервале [1; 4], количество разбиений n = 52.
Пример программы на языке Pascal
CONST N = 52; A = 1; B = 4;
VAR Y0, YN, X, S, H: REAL;I: INTEGER;
BEGIN
H := (B-A)/N; Y0 := SQR(LN(A))/A;
YN := SQR(LN(B))/B; S := (Y0 + YN)/2;
FOR I:= 1 TO N-1 DO
BEGIN
X := A + I*H;
S := S + SQR(LN(X))/X
END; S := S*H;
WRITELN (‘ИНТЕГРАЛ РАВЕН ’, S);
END.
Подпрограмма на языке Basic
10 DEF FNA(X)=EXP(-Х*Х)
20 PRINT "N,B0,B9,H1"; : INPUT N,B0,B9,H1
30 C=2/SQR(PI) : A=0 : S1=0
40 FOR B=B0 TO B9 SТЕР H1
50 GOSUB 100
60 S1=S1+S : A=B
70 PRINT B,C*S1 : NEXT В
90 GOTO 10
100 H=(B-A)/N : S1=(FNA(A)+FNA(B))/2
110 FOR I = 1 TO N-1 : S=S+FNA(A+ I *H) : NEXT I
120 S=S*H
190 RETURN
110 REM МЕТОД ТРАПЕЦИИ
120 INPUT . “Входные переменные A,B,N =”;A,B,N
130 H = (B-A)/N
140 S = O
150 X = A
160 FOR I = 1 TO N-1
170 X = X+H
180 S = S + FNY (X)
190 NEXT I
200 S = H*(FNY(A) + FNY(B) + 2*S) / 2
210 RETURN
Подпрограмма на языке Pascal
VAR N,I,K:INTEGER; A,B,B0,B9,H,C,S,S1:REAL;
FUNCTION F(X:REAL):REAL;BEGIN
F:=EXP(-X*X);END;
PROCEDURE TRAP(VAR A,B:REAL;
N:INTEGER; FUNCTION F:REAL;S:REAL);
VAR I:INTEGER;H:REAL;
BEGIN H:=(B-A)/N;S:=(F(A)+F(B))/2;
FOR I:=1 TO N-1 DO S:=S+F(A+I*H);
S:=S*H;END;
BEGIN C:=2/SQRT(3.14159265);
REPEAT WRITE('N,B0,B9,H?'); READLN(N,B0,B9,H);
K:=ROUND((B9-B0)/H+1.0); B:=B0; A:=0.0; S1:=0.0;
FOR I:= 1 TO K DO BEGIN TRAP(A,B,N,F,S); S1:=S1+S; A:=1.;
WRITELN(B,' ',C*S1); B:=B*H; END; UNTIL FALSE;END.
Формула СИМПСОНА
S= (b-a)/(6N)(f (x0) + f (x2N) + i=12N-1 (3 + (-1) i-1) f (xi)) шаг:h=(b-a)/2N
Геометрическая интерпретация метода:
Пример программы на языке C#
Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
Эта книга – ваш полный гид по работе с программой 1С:Управление небольшой фирмой 8.2. Вы научитесь автоматизировать управленческий учет основных операций, а также процессы маркетинга и кадрового планирования. Подробные уроки охватывают все аспекты деятельности современного предприятия, от ввода данных до формирования отчетов. Практические примеры и рекомендации основаны на реальных ситуациях, гарантируя эффективное применение полученных знаний. Изучите все возможности программы 1С:Управление небольшой фирмой 8.2 с нуля, шаг за шагом.

Искусство программирования для Unix
Эта книга не просто руководство по Unix, а исследование его философии и культуры. Она не ориентирована на технические подробности, а на понимание "почему это следует сделать", а не "как". Автор, Эрик Стивен Реймонд, обращается к опыту ведущих разработчиков Unix, чтобы показать, как коллективная культура и традиции влияют на создание эффективных и устойчивых программ. Книга разделена на четыре части: Контекст, Проектирование, Реализация и Сообщество. Каждый раздел раскрывает различные аспекты Unix-культуры, от истории и философии до практических рекомендаций для программистов. Книга подходит для тех, кто хочет понять не только "как", но и "почему" Unix-программирование так эффективно. Понимание принципов проектирования, заложенных в Unix, поможет вам создавать более качественные и гибкие программы.

Основы объектно-ориентированного программирования
Этот фундаментальный учебник посвящен основам объектно-ориентированного программирования и программной инженерии. В нем излагаются ключевые понятия объектной технологии: классы, объекты, управление памятью, типизация, наследование и универсализация. Особое внимание уделяется проектированию по контракту и обработке исключений, как важным механизмам для обеспечения корректности и устойчивости программных систем. Книга основана на работах Б. Мейера и предлагает глубокое понимание объектно-ориентированного программирования.

Искусство вторжения
Эта книга, написанная Кевином Митником и Вильямом Саймоном, представляет собой увлекательный сборник историй о хакерских вторжениях. Авторы, являющиеся экспертами в области кибербезопасности, рассказывают о реальных историях взломов, подчеркивая не только технические аспекты, но и мотивы, риски и последствия таких действий. Книга предоставляет уникальный взгляд на мир хакеров, позволяя читателям понять сложную динамику киберпреступности и кибербезопасности. Она не только повествует о хакерских приключениях, но и служит ценным руководством для профессионалов в области информационных технологий, позволяя им повысить уровень безопасности своих систем. Книга также будет интересна широкому кругу читателей, интересующихся криминальными историями и приключениями.
