РУБРИКИ |
Курсовая работа по численным методам |
РЕКЛАМА |
|
Курсовая работа по численным методамКурсовая работа по численным методам1. Методом Крылова развернуть характеристический определитель матрицы А=[pic]. Исходную систему линейных уравнений решить методом Жордана-Гаусса. Решение. Метод Крылова основан на свойстве квадратной матрицы обращать в нуль свой характеристический многочлен. Согласно теореме Гамильтона-Кали, всякая квадратная матрица является корнем своего характеристического многочлена и, следовательно, обращает его в нуль. Пусть [pic] – (1) характеристический многочлен. Заменяя в выражении (1) величину [pic] на [pic], получим [pic]. (2) Возьмем произвольный ненулевой вектор [pic]. (3) Умножим обе части выражения (2) на [pic]: [pic] (4) Положим [pic], (5) т.е. [pic] (6) Учитывая (5), выражение (4) запишем в виде [pic], (7) или в виде [pic] Решаем систему (7). Если эта система имеет единственное решение, то ее корни [pic] являются коэффициентами характеристического многочлена (1). Если известны коэффициенты [pic] и корни [pic] характеристического многочлена, то метод Крылова дает возможность найти соответствующие собственные векторы по следующей формуле: [pic] (8) Здесь [pic] – векторы, использованные при нахождении коэффициентов [pic] методом Крылова, а коэффициенты [pic] определяются по схеме Горнера [pic] (9) Используя все выше сказанное, развернем характеристический определитель матрицы А=[pic] методом Крылова. Выберем в качестве начального следующий вектор: [pic], [pic] Вычислим [pic][pic][pic] Составим матричное уравнение [pic], или [pic] Полученную систему уравнений решим методом Жордана-Гаусса. | |[pic] |[pic] |[pic] |[pic] |[pic] |[pic] | |1|9 |2 |0 |-72 |-61 |-61 | | |-1 |1 |0 |-3 |-3 |-3 | | |30 |5 |1 |-167 |-131 |-131 | |2|1 |2/9 |0 |-8 |-61/9 |-61/9 | |3|1 |0 |0 |-6 |-5 |-5 | | |0 |1 |0 |-9 |-8 |-8 | | |0 |1 |0 | | | | | |0 |0 |1 | | | | Исходя из результатов таблицы, имеем [pic]. Таким образом характеристическое уравнение матрицы [pic] имеет вид [pic] 2. Для определения собственных чисел матрицы [pic] необходимо решить полученное характеристическое уравнение третьей степени [pic] Данное кубическое уравнение невозможно решить стандартными средствами. Воспользуемся для этой цели числовыми методами, а точнее методами приближенного вычисления. 2.1 Исследование функции. Вычислим первую и вторую производные данной функции [pic] [pic] Необходимо выбрать интервал, на котором будем находить решение. Для отделения корней существует несколько способов. Наиболее популярные из них – графический и аналитический. В литературе рассматриваются эти способы по отдельности. По заданию курсовой работы требуется отделить корни каждым из этих способов. Рискну нарушить это требование, и объединить эти два способа в один. То есть исследовать функцию аналитически и по результатам исследования построить приблизительный график функции. Областью значений исходного уравнения является вся ось [pic]. Приравняв первую производную к нулю, мы можем получить критические точки данной функции (точки минимумов и максимумов, или же точки, в которых функция не определена). [pic] [pic] [pic] Стоит отметить, что для вычисления квадратного корня, также применимы числовые методы, на которых и основаны микрокалькуляторы и программы для ЭВМ. Данные методы основаны на логарифмировании корня и последующего вычисления. [pic] [pic] вычисляется при помощи числового ряда [pic] Уравнение [pic] имеет решение [pic], [pic]. Изменив знак равенства на знак неравенства (< или >), можем найти промежутки возрастания и убывания функции. Функция возрастает на промежутке [pic] и убывает на промежутке [pic]. Подставив в исходное уравнение значения критических точек, имеем в результате для [pic] и для [pic]. Приравняв вторую производную к нулю, мы можем найти точку перегиба и, соответственно, найти интервал, на котором функция выпуклая и вогнутая. [pic] [pic] [pic] Далее необходимо найти, интервалы, в которых график функции пересекает ось [pic]. Сразу можно определиться, что так при [pic] значение функции больше нуля, а при [pic] - меньше нуля, то одна из точек пересечения, будет лежать на данном интервале. Произведя не хитрые математические вычисления значения функции для [pic], сузим интервал до [pic]. Далее рассмотрим оставшиеся два интервала. Известно, что при [pic] - значение функции отрицательно, а в первой критической точке положительно, то будем сужать этот промежуток. В данном случае применим метод половинного деления. |[pic]|[pic] | |0 |58 | |-100 |-1059042 | |-50 |-139492 | |-25 |-19092 | |-12 |-2426 | |-6 |-320 | |-3 |4 | |-5 |-172 | |-4 |-66 | |[pic] |[pic] | |4 |-10 | |100 |939158 | |50 |109608 | |25 |11708 | |12 |814 | |6 |4 | |5 |-12 | Таким образом получили еще один интервал [pic]. Следующий будет от [pic] и до бесконечности. Произведем аналогичные вычисления и получим промежуток [pic] На основании произведенного анализа построим график исходной функции. [pic] 2.2 Метод хорд. Сразу необходимо заметить, что существуют два случая (варианта) при решении методом хорд. Случай первый. Первая и вторая производные функции имеют одинаковые знаки, т.е. [pic]. В этом случае итерационный процесс осуществляем по формуле [pic] Случай второй. Первая и вторая производные функции имеют разные знаки, т.е. [pic]. В этом случае итерационный процесс осуществляем по формуле [pic] Для оценки точности приближение можно воспользоваться формулой [pic], где [pic] при [pic], [pic] – точное значение корня. Итак решим наше уравнение [pic] методом хорд с точностью [pic]. 2.2.1 Интервал [pic]. [pic] [pic] [pic] [pic] [pic] Так как первая и вторые производные в точке, от которой мы начинаем работать имеют различные знаки, то работаем по второму варианту. Результаты вычисления приведены в таблице. |[pic] |[pic] |[pic] |[pic] |[pic] | |-4,0000000 |-3,0000000 |-66,0000000 |4,0000000 |0,0740741 | |-4,0000000 |-3,1142857 |-66,0000000 |-2,3688397 |0,0438674 | |-4,0000000 |-3,0440850 |-66,0000000 |1,5901736 |0,0294477 | |-4,0000000 |-3,0901012 |-66,0000000 |-0,9879693 |0,0182957 | |-4,0000000 |-3,0610770 |-66,0000000 |0,6456578 |0,0119566 | |-4,0000000 |-3,0798611 |-66,0000000 |-0,4086778 |0,0075681 | |-4,0000000 |-3,0678974 |-66,0000000 |0,2640772 |0,0048903 | |-4,0000000 |-3,0755972 |-66,0000000 |-0,1684077 |0,0031187 | |-4,0000000 |-3,0706743 |-66,0000000 |0,1083107 |0,0020058 | |-4,0000000 |-3,0738353 |-66,0000000 |-0,0692833 |0,0012830 | |-4,0000000 |-3,0718112 |-66,0000000 |0,0444729 |0,0008236 | |-4,0000000 |-3,0731096 |-66,0000000 |-0,0284836 |0,0005275 | |-4,0000000 |-3,0722776 |-66,0000000 |0,0182690 |0,0003383 | |-4,0000000 |-3,0728111 |-66,0000000 |-0,0117068 |0,0002168 | |-4,0000000 |-3,0724692 |-66,0000000 |0,0075061 |0,0001390 | |-4,0000000 |-3,0726884 |-66,0000000 |-0,0048109 |0,0000891 | |-4,0000000 |-3,0725479 |-66,0000000 |0,0030843 |0,0000571 | |-4,0000000 |-3,0726380 |-66,0000000 |-0,0019770 |0,0000366 | [pic] 2.2.2 Интервал [pic]. [pic] [pic] [pic] [pic] [pic] Так как первая и вторые производные в точке, от которой мы начинаем работать имеют различные знаки, то работаем по второму варианту. Результаты вычисления приведены в таблице. |[pic] |[pic] |[pic] |[pic] |[pic] | |3,0000000 |4,0000000 |4,0000000 |-10,0000000 |-0,2222222 | |3,0000000 |3,2857143 |4,0000000 |-0,8746356 |-0,0485909 | |3,0000000 |3,2344498 |4,0000000 |-0,0423087 |-0,0023505 | |3,0000000 |3,2319959 |4,0000000 |-0,0019734 |-0,0001096 | |3,0000000 |3,2318815 |4,0000000 |-0,0000919 |-0,0000051 | [pic] 2.2.3 Интервал [pic]. [pic] [pic] [pic] [pic] [pic] Так как первая и вторые производные в точке, от которой мы начинаем работать имеют одинаковые знаки, то работаем по первому варианту. Результаты вычисления приведены в таблице. |[pic] |[pic] |[pic] |[pic] |[pic] | |5,0000000 |6,0000000 |-12,0000000 |4,0000000 |0,6666667 | |5,7500000 |6,0000000 |-2,0156250 |4,0000000 |0,3359375 | |5,8337662 |6,0000000 |-0,1613014 |4,0000000 |0,0268836 | |5,8402098 |6,0000000 |-0,0120198 |4,0000000 |0,0020033 | |5,8406885 |6,0000000 |-0,0008909 |4,0000000 |0,0001485 | |5,8407240 |6,0000000 |-0,0000660 |4,0000000 |0,0000110 | [pic] Итак, корнями уравнения [pic] будут [pic], [pic], [pic]. 2.3 Метод касательных (метод Ньютона). В век повальной компьютеризации не есть хорошо считать при помощи логарифмической линейки. Поэтому, разработаем алгоритм и прикладную программу для решения кубических уравнений методом Ньютона. Ниже приведена блок-схема алгоритма и листинг программы, реализующей данный алгоритм на языке С++. Также привожу текст, которая выдает данная программа при решении исходного уравнения. [pic] //метод Ньютона длЯ решениЯ кубических уравнений #include<math.h> #include<iostream.h> double a[4]={0}, b[3]={0}, c[2]={0}, prec=0.00000; double minim=0, maxim=0; void Hello(void); void Input(); void Derivative(); void Calculation(); double Calc_Fun(double); double Calc_First(double); double Calc_Second(double); main(void) { Hello(); Input(); Derivative(); Calculation(); return 0; } void Hello(void) { cout<<"Программа длЯ решениЯ кубических уравнений методом касательных (метод Ньютона).\n\n"; } void Input() { cout<<"Кубическое уравнение имеет вид"<<endl <<"a1*x^3+a2*x^2+a3*x+a4=0"<<endl<<endl; for (int i=0;i<4;i++) { cout<<"Введите значение коэффициента a["<<i+1<<"] : "; cin>>a[i]; } cout<<endl<<"Необходимо указать интервал поиска решениЯ."<<endl <<"Введите нижнюю границу поиска : "; cin>>minim; cout<<"Введите верхнюю границу поиска : "; cin>>maxim; while(minim==maxim||minim>maxim) { cout<<"\nНижнЯЯ граница должна быть меньше верхней и не может быть ей равна."<<endl <<"Повторите ввод нижней границы : "; cin>>minim; cout<<"Повторите ввод верхней границы : "; cin>>maxim; } cout<<"Введите допустимую погрешность : "; cin>>prec; } void Derivative() { b[0]=a[0]*3; b[1]=a[1]*2; b[2]=a[2]; c[0]=b[0]*2; c[1]=b[1]; cout<<"\n\n\n" <<"Исходное уравнение имеет вид : \n\n" <<a[0]<<"x^3+("<<a[1]<<")x^2+("<<a[2]<<")x+("<<a[3]<<")=0\n\n" <<"ПерваЯ производнаЯ имеет вид : \n\n" <<"f'(x)="<<b[0]<<"x^2+("<<b[1]<<")x+("<<b[2]<<")\n\n" <<"ВтораЯ производнаЯ имеет вид : \n\n" <<"f''(x)="<<c[0]<<"x+("<<c[1]<<")\n\n"; } void Calculation() /m double Calc_Fun(double x) { return (a[0]*x*x*x+a[1]*x*x+a[2]*x+a[3]); } double Calc_First(double x) { return (b[0]*x*x+b[1]*x+b[2]); } double Calc_Second(double x) { return (c[0]*x+c[1]); } Программа длЯ решениЯ кубических уравнений методом касательных (метод Ньютона). Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : -4 Введите верхнюю границу поиска : -3 Введите допустимую погрешность : 0.00005 Исходное уравнение имеет вид : 1x^3+(-6)x^2+(-9)x+(58)=0 ПерваЯ производнаЯ имеет вид : f'(x)=3x^2+(-12)x+(-9) ВтораЯ производнаЯ имеет вид : f''(x)=6x+(-12) ------------------------------------------------- | Xn | f(Xn) | |f(Xn)|/m | ------------------------------------------------- | -4| -66| 1.222222222| | -3.24137931| -9.922506048| 0.183750112| | -3.079817529| -0.40621762| 0.007522548518| | -3.07261683|-0.000789793230|1.462580056e-05| ------------------------------------------------- Программа длЯ решениЯ кубических уравнений методом касательных (метод Ньютона). Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : 3 Введите верхнюю границу поиска : 4 Введите допустимую погрешность : 0.00005 Исходное уравнение имеет вид : 1x^3+(-6)x^2+(-9)x+(58)=0 ПерваЯ производнаЯ имеет вид : f'(x)=3x^2+(-12)x+(-9) ВтораЯ производнаЯ имеет вид : f''(x)=6x+(-12) ------------------------------------------------- | Xn | f(Xn) | |f(Xn)|/m | ------------------------------------------------- | 3| 4| 0.4444444444| | 3.222222222| 0.159122085| 0.01768023167| | 3.231855174| 0.000341137633|3.790418145e-05| ------------------------------------------------- Программа длЯ решениЯ кубических уравнений методом касательных (метод Ньютона). Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : 5 Введите верхнюю границу поиска : 6 Введите допустимую погрешность : 0.00005 Исходное уравнение имеет вид : 1x^3+(-6)x^2+(-9)x+(58)=0 ПерваЯ производнаЯ имеет вид : f'(x)=3x^2+(-12)x+(-9) ВтораЯ производнаЯ имеет вид : f''(x)=6x+(-12) ------------------------------------------------- | Xn | f(Xn) | |f(Xn)|/m | ------------------------------------------------- | 6| 4| 0.6666666667| | 5.851851852| 0.2601229487| 0.04335382479| | 5.840787634| 0.001413241032| 0.000235540172| | 5.840726862|4.255405933e-08|7.092343222e-09| ------------------------------------------------- 2.4 Метод итераций. Как и для предыдущего метода, привожу блок-схему алгоритма решения и листинг программы, реализующей этот алгоритм на языке программирования С++. [pic] //метод итераций длЯ решениЯ кубических уравнений #include<math.h> #include<iostream.h> double a[4]={0}, b[3]={0}, prec=0.00000; double minim=0, maxim=0; void Hello(void); void Input(); void Derivative(); void Calculation(); double Calc_Fun(double); double Calc_First(double); main(void) { Hello(); Input(); Derivative(); Calculation(); return 0; } void Hello(void) { cout<<"Программа длЯ решениЯ кубических уравнений методом итераций.\n\n"; } void Input() { cout<<"Кубическое уравнение имеет вид"<<endl <<"a1*x^3+a2*x^2+a3*x+a4=0"<<endl<<endl; for (int i=0;i<4;i++) { cout<<"Введите значение коэффициента a["<<i+1<<"] : "; cin>>a[i]; } cout<<endl<<"Необходимо указать интервал поиска решениЯ."<<endl <<"Введите нижнюю границу поиска : "; cin>>minim; cout<<"Введите верхнюю границу поиска : "; cin>>maxim; while(minim==maxim||minim>maxim) { cout<<"\nНижнЯЯ граница должна быть меньше верхней и не может быть ей равна." <<endl <<"Повторите ввод нижней границы : "; cin>>minim; cout<<"Повторите ввод верхней границы : "; cin>>maxim; } cout<<"Введите допустимую погрешность : "; cin>>prec; } void Derivative() { b[0]=a[0]*3; b[1]=a[1]*2; b[2]=a[2]; } void Calculation() { double x=0, x_old=0, m=0; cout<<"-------------------------------------------------"<<endl <<"| Xn | f(Xn) | X(n+1)-Xn |"<<endl <<"-------------------------------------------------"<<endl; if(fabs(Calc_First(minim))>fabs(Calc_First(maxim))) m=x=x_old=minim; else m=x=x_old=maxim; m=fabs(1/Calc_First(m)); cout<<"|"; cout.width(15);cout.precision(10); cout<<x; cout<<"|"; cout.width(15);cout.precision(10); cout<<Calc_Fun(x); cout<<"| |\n"; if(Calc_First(x)>0) { do \n"; while(( fabs( Calc_Fun(x) - Calc_Fun(x_old) ) )>prec); } else { do cout.width(15);cout.precision(10); while(( fabs( Calc_Fun(x) - Calc_Fun(x_old) ) )>prec); } cout<<"-------------------------------------------------"; } double Calc_Fun(double x) { return (a[0]*x*x*x+a[1]*x*x+a[2]*x+a[3]); } double Calc_First(double x) { return (b[0]*x*x+b[1]*x+b[2]); } Программа длЯ решениЯ кубических уравнений методом итераций. Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : -4 Введите верхнюю границу поиска : -3 Введите допустимую погрешность : 0.00005 ------------------------------------------------- | Xn | f(Xn) | X(n+1)-Xn | ------------------------------------------------- | -4| -66| | | -3.24137931| -9.922506048| 56.07749395| | -3.127327517| -3.12093462| 6.801571427| | -3.091454705| -1.064778438| 2.056156183| | -3.079215872| -0.372281515| 0.6924969227| | -3.074936774| -0.131239433| 0.241042082| | -3.073428275| -0.04639844126| 0.08484099175| | -3.07289496| -0.01642029825| 0.02997814301| | -3.072706221|-0.005813178631| 0.01060711962| | -3.072639403|-0.002058264249| 0.003754914382| | -3.072615744|-0.000728799396| 0.001329464852| | -3.072607367|-0.000258060628|0.0004707387678| | -3.072604401|-9.137721784e-0|0.0001666834108| | -3.072603351|-3.235601088e-0|5.902120696e-05| | -3.072602979|-1.145703711e-0|2.089897377e-05| ------------------------------------------------- Программа длЯ решениЯ кубических уравнений методом итераций. Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : 3 Введите верхнюю границу поиска : 4 Введите допустимую погрешность : 0.00005 ------------------------------------------------- | Xn | f(Xn) | X(n+1)-Xn | ------------------------------------------------- | 3| 4| | | 3.222222222| 0.159122085| 3.840877915| | 3.231062338| 0.01338370012| 0.1457383849| | 3.231805877| 0.001151957391| 0.01223174272| | 3.231869875|9.934183961e-05| 0.001052615552| | 3.231875394|8.568402322e-06|9.077343728e-05| | 3.23187587|7.390497921e-07| 7.82935253e-06| ------------------------------------------------- Программа длЯ решениЯ кубических уравнений методом итераций. Кубическое уравнение имеет вид a1*x^3+a2*x^2+a3*x+a4=0 Введите значение коэффициента a[1] : 1 Введите значение коэффициента a[2] : -6 Введите значение коэффициента a[3] : -9 Введите значение коэффициента a[4] : 58 Необходимо указать интервал поиска решениЯ. Введите нижнюю границу поиска : 5 Введите верхнюю границу поиска : 6 Введите допустимую погрешность : 0.00005 ------------------------------------------------- | Xn | f(Xn) | X(n+1)-Xn | ------------------------------------------------- | 6| 4| | | 5.851851852| 0.2601229487| 3.739877051| | 5.842217669| 0.0346921878| 0.2254307609| | 5.840932773| 0.004788677115| 0.02990351069| | 5.840755414|0.0006639855431| 0.004124691572| | 5.840730822|9.212373716e-05|0.0005718618059| | 5.84072741|1.278267885e-05|7.934105832e-05| | 5.840726937|1.773688694e-06|1.100899016e-05| ------------------------------------------------- Решив уравнение [pic], получили корень [pic] |Метод |Корень № 1 |Корень № 2 |Корень № 3 | |Хорд |-3,072638 |3,231881 |5,840724 | |Касательных (Ньютона) |-3,072616 |3,231855 |5,840726 | |Итераций |-3,072602 |3,231875 |5,840726 | Для дальнейших расчетов будем использовать среднее арифметическое значение полученных корней. [pic] [pic] [pic] 3. Используя полученные значения, определим собственные значения исходной матрицы. Собственные вектора матрицы А=[pic] определим по формуле [pic] Для нашей матрицы, данная формула примет следующий вид [pic] Коэффициенты [pic] определяются по схеме Горнера: [pic] Для [pic] имеем: [pic] [pic] [pic] Для [pic] имеем: [pic] [pic] [pic] Для [pic] имеем: [pic] [pic] [pic] Далее можем найти собственные векторы: [pic] [pic] [pic] 4. Для контроля полученных значений, развернем исходную матрицу А=[pic], и определим ее собственные векторы методом непосредственного развертывания. Характеристический многочлен для данной матрицы имеет вид: [pic]. Находим [pic]. Число диагональных миноров второго порядка у матрицы второго порядка [pic]. Выписываем эти миноры и складываем их: [pic]. И, в заключение, находим [pic] Таким образом, характеристическое уравнение имеет вид [pic] Данное уравнение идентично уравнению, полученному при помощи метода Крылова. Нет смысла заново его решать. Воспользуемся уже вычисленными корнями (их средним значением). Определим собственный вектор [pic], соответствующий [pic]. [pic], или [pic] Из третьего уравнения системы выведем [pic] и подставим его в первое уравнение системы [pic] [pic] Примем [pic], тогда [pic] и [pic]. Итак, искомый вектор матрицы [pic], найденный с точностью до постоянного множителя [pic], для собственного значения матрицы [pic] будет: [pic] При помощи метода Крылова, мы получили точное значение собственного вектора [pic]. Мы можем проверить наши вычисления, взяв [pic]: [pic] Как видно, мы получил идентичный, до третьего знака, результат. Определим собственный вектор [pic], соответствующий [pic]. [pic], или [pic] Из третьего уравнения системы выведем [pic] и подставим его в первое уравнение системы [pic] [pic] Примем [pic], тогда [pic] и [pic]. Итак, искомый вектор матрицы [pic], найденный с точностью до постоянного множителя [pic], для собственного значения матрицы [pic] будет: [pic] При помощи метода Крылова, мы получили точное значение собственного вектора [pic]. Мы можем проверить наши вычисления, взяв [pic]: [pic] Как видно, мы получил идентичный, до третьего знака, результат. Определим собственный вектор [pic], соответствующий [pic]. [pic], или [pic] Из третьего уравнения системы выведем [pic] и подставим его в первое уравнение системы [pic] [pic] Примем [pic], тогда [pic] и [pic]. Итак, искомый вектор матрицы [pic], найденный с точностью до постоянного множителя [pic], для собственного значения матрицы [pic] будет: [pic] При помощи метода Крылова, мы получили точное значение собственного вектора [pic]. Мы можем проверить наши вычисления, взяв [pic]: [pic] Как видно, мы получил идентичный, до третьего знака, результат. |
|
© 2007 |
|