д) теперь повторяются этапы в) и г) до выполнения условия r<=e.
Вычисление определенного интеграла с помощью пакета MathCAD в нормальном и символьном виде.
Для решения интеграла численно и в символьном виде необходимо задать функцию f (x) и найти от неё интеграл
на промежутке [a, b].Для вычисления численного значения заданного интеграла:
С помощью встроенных функций задаём определённый интеграл;
После нажатия клавиши "=", MathCAD выдаёт значение интеграла на заданном промежутке.
В Mathcad:
При решении интеграла в символьном виде:
С помощью встроенных функций задаём интеграл;
Вызов в меню "Математика" подменю "Булен" и нажатие "®" или Control+. приводит к вычислению интеграла в символьном виде.
В Mathcad:
В Turbo Pascal:
Текст программы вычисления
определенного интеграла методом
средних прямоугольников на TP
program Sredniipriamougolniki;
uses crt;
var a,b,h,s,y,x: real;
i,n: integer;
begin clrscr;
write ('Vvedite a,b,n=');
readln (a,b,n);
h: = (b-a) /n;
x: =a+h/2;
s: =0;
for i: =1 to n do
begin
s: =s+1/sqr (3*sin (x) +2*cos (x));
x: =x+h;
end;
y: =h*s;
writeln ('n=',n,' y=',y: 10: 3);
readkey;
end.
Результаты работы программы:
a=0 b=1 n=1000 y=0.117
Блок-схема алгоритма решения задания №2.1
Вычисление определенного интеграла методом средних прямоугольников:
Текст программы вычисления
определенного интеграла методом
трапеции
program integral 2;
uses crt;
var a,b,h,S,S1,x,y: real;
i,n: integer;
function f (c: real): real;
begin
f: =1/sqr (3*sin (x) +2*cos (x));
end;
begin clrscr;
write ('a,b,n=');
readln (a,b,n);
h: = (b-a) /n;
x: =a;
s: =0;
for i: =1 to n-1 do
begin
x: =x+h;
s: =s+f (x);
end;
S1: = f (a) +f (b);
y: = (h/2) * (S1+2*s);
writeln ('n=',n, ' y=',y: 8: 3);
readkey;
end.
Результаты работы программы
a=0 b=1 n=1000 y=0.117
Блок-схема алгоритма решения задания № 2.2
Текст программы вычисления
определенного интеграла
методом Симпсона
program simpson;
uses crt;
var a,b,h,x,y,s,s1: real;
i,n,c,m: integer;
function f (x: real): real;
begin
f: =1/sqr (3*sin (x) +2*cos (x));
end;
begin clrscr;
write ('a,b,n=');
readln (a,b,n);
h: = (b-a) / (2*n);
x: =a;
s: =0;
c: =1;
m: =2*n-1;
for i: =1 to m do
begin
x: =x+h;
s: =s+ (3+c) *f (x);
c: =-c;
end;
s1: =f (a) +f (b);
y: = (h/3) * (s1+s);
writeln ('y=',y: 10: 3,' n=',n);
readkey;
end.
Результаты работы программы
a=0 b=1 n=1000 y=0.117
Блок-схема алгоритма решения задания №2.3
определенного интеграла с
автоматическим выбором шага
program avtomaticheskiyshag;
uses crt;
var e,a,b,s,h,sn,sn1: real;
i,n: integer;
function f (x: real): real;
var y: real;
begin
f: =1/sqr (3*sin (x) +2*cos (x));
end;
begin
clrscr;
write ('a='); read (a);
write ('b='); read (b);
write ('e='); read (e);
sn: =0;
sn1: =0;
n: =100;
repeat
n: =n*2;
h: = (b-a) /n;
s: =0;
sn: =sn1;
s: =s+f (a) +f (b);
for i: =1 to (n-1) do
s: =s+2*f (a+i*h);
s: = (h/2) *s;
sn1: =s;
until abs (sn-s) <e;
writeln ('s=',s: 8: 3);
readkey;
end.
Результаты работы программы
a=0 b=1 n=1000 s=0.117
Данная задача в MathCAD будет выполнятся с использованием ранжированной переменной. В среде пакета MathCAD для выполнения итеративных вычислений предусмотрен аппарат ранжированных переменных.
Ранжированная переменная-это переменная, которой приписан диапазон изменения значений.
Пример ранжированной переменной:
x: =a,b. c,
где x - переменная, a,b,c - значения, которые принимает переменная, т.е. a-первое значение, b-второе значение, т.е. (b-a) - шаг изменения переменной, и c-последнее значение. .
Рассмотрим решение системы линейных уравнений матричным методом:
a11X1+a12X2+a13X3=b1,a21X1+a22X2+a23X3=b2,a31X1+a32X2+a33X3=b3.
Решение этим методом заключается в решении матричного уравнения вида:
R=M-1*V.
Для этого необходимо:
сформировать матрицу коэффициентов системы линейных уравнений
сформировать вектор-столбец коэффициентов свободных членов системы линейных уравнений V:
b1
V: = b2
b3
найти искомые параметры с помощью матричного уравнения: R=M-1*V.
получим:
X1
R = X2
X3
Рассмотрим решение системы линейных уравнений с помощью решающего блока Given - Find.
Для решения системы уравнений этим способом используется специальная конструкция, называемая решающим блоком. Блок состоит из заголовка (Given), его тела (определённой системы уравнений) конца блока (Find). Find включает в себя перечень переменных блока, относительно которых должна быть решена система уравнений.
Для решения этим методом введём начальные приближённые значения искомых значений:
X1: =0X2: =0X3: =0
опишем блок решения:
Given
x11X1+x12X2+x13X3=b1,x21X1+x22X2+x23X3=b2,x31X1+x32X2+x33X3=b3.
опишем ведущие переменные:
r: =find (X1, X2, X3)
найдём искомые параметры:
X1
r = X2
X3
Пример вычисления:
1) решение системы линейных уравнений матричным методом:
2) решение системы линейных уравнений с помощью решающего блока Given - Find.
, ,Задача нахождения корней нелинейных уравнений вида F (x) =0 встречается в различных областях научных исследований. Нелинейные уравнения можно разделить на два класса - алгебраические и трансцендентные. Алгебраическими уравнениями называются уравнения, содержащие только алгебраические функции. Уравнения, содержащие другие функции (тригонометрические, показательные, логарифмические и др.) называются трансцендентными.
По условию задачи уравнение cosx-x+4=0 является трансцендентным. Поэтому для нахождения корней будем использовать приближённые методы вычисления (метод касательных и метод половинного деления).
Существуют различные итерационные методы решения трансцендентных уравнений. Наиболее известные: метод касательных, метод половинного деления, метод хорд, комбинированный метод хорд и касательных, метод итераций и т.д.
Метод половинного деления отрезка пополам является одним из простейших методов нахождения корней нелинейных уравнений. Метод довольно медленный, однако он всегда сходится, т.е. при использовании решение получается всегда, причём с заданной точностью. Требуемое обычно большее число итераций по сравнению с некоторыми другими методами не является препятствием к применению этого метода, если каждое значение функции несложно.
Метод касательных или метод Ньютона. В этом методе каждой итерации объём вычислений больший, чем в ранее рассмотренном методе половинного деления, поскольку приходится находить не только значение функции F (x), но и значения её производных. Однако скорость сходимости здесь значительно выше, чем в предыдущем методе.
Решение нелинейного уравнения в среде пакета MathCAD
По условию задачи данное нелинейное уравнение является трансцендентным. Для нахождения корней этого уравнения воспользуемся функцией root.