Читать реферат по математике: "Разложение рациональной дроби на простейшие." Страница 5
определение степени знаменателя без учета кратности . А дальше, в зависимости от этого формируется числитель степени на единицу меньшей. За что люблю Maple, так это за (б) и (в) . Ну где вы видели, чтоб вот так “на ходу” можно было “собрать” переменную? А здесь возможно и такое. Естественно, использовав очередной индекс, необходимо увеличить значение счетчика.
Итак, нечто весьма похожее на разложение, приведенное в теореме, мы получили. Теперь дело за малым — нужно вычислить эти самые A k -ые. Сделаем это так: приведем полученное разложение к общему знаменателю, разберемся с подобными и соберем коэффициенты перед x i , где i = 0 ... 21 (в нашем случае) в числителе: > f:= collect(numer(rxn), x):
> for i from 0 to degree(f, x) do
> cundef[i]:= coeff(f, x, i):
> od: Функция numer , вернув числитель, “по дороге” приведет rxn к общему знаменателю, collect как раз и повыносит за скобки x i . В переменные (не массив!) cundef i выделим с помощью функции coeff (третий параметр — степень переменной, остальные два очевидны) эти самые коэффициенты. Их количество будет равно степени f плюс один (нулевая). Зачем это надо? А что у нас во fracpart? Именно — то же самое, но коэффициенты определенные. Что делаем? Составляем систему линейных уравнений и решаем относительно наших A k -ых. Единственность решения такой системы доказана до нас, посему спокойно пишем дальше:> b:= collect(fracpart, x):
(а) > for i from 0 to degree(f, x) do
> cdef[i]:= coeff(b, x, i):
> od:Снова собрали в cdef i коэффициенты при x i , но уже из fracpart (определенные). Внимание на (а) — их должно быть столько же, сколько и в первом наборе, иначе система не получится. Сформируем набор переменных ( A k- ые), относительно которых будем решать нашу систему и ее саму:> vars:= {seq(A[k], k=1..lastvar-1)}:
> eqns:= {seq(cundef[i]=cdef[i], i=0.. degree(f, x))}:
> assign(solve(eqns, vars));
Последняя строка заставит Maple пошевелить мозгами, решить нашу систему относительно наших переменных. Функция solve требует два параметра: первый — это набор уравнений, второй — набор переменных. Результат работы будет представлен в виде опять же набора равенств. На этом этапе присвоения переменным, относительно которых решалась система, вычисленных значений не происходит. Чтобы это все-таки сделать, воспользуемся функцией assign в качестве параметра, которой передается набор равенств. Таким образом вычислены наши неопределенные A k -ые. Так как rxn через них выражается, то на результат можно посмотреть так (см. рисунок): > zpart + rxn;Это и есть разложение нашей rfun на сумму простейших дробей. > simplify(zpart + rxn — rfun); осуществит проверку тождественности (функция simplify как можно дальше упростит выражение), возвратив 0. Другого и не должно быть, в противном случае алгоритм сработал некорректно, чего я от него никак не жду.
Приведенный пример лишний раз доказывает, что система Maple никак не является просто символьным калькулятором. В отличие от MathCad, где возможности программирования представлены не на высшем уровне, она позволяет реализовывать самые буйные фантазии по части построения сложнейших алгоритмов.
§ “Реализация метода простых коэффициентов на Delphi”. Листинг:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Spin, StdCtrls, Grids, MatUtilits;
type
signs = -1..1;
polinom = array of real;
fpolinoms = array of polinom;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Edit1: TEdit;
StringGrid2: TStringGrid;
Edit2: TEdit;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Button1:
Похожие работы
| Тема: Разложение рациональной дроби на простейшие |
| Предмет/Тип: Математика (Реферат) |
| Тема: Нескінченні десяткові дроби. Періодичні десяткові дроби |
| Предмет/Тип: Математика (Реферат) |
| Тема: Нескінченні десяткові дроби. Періодичні десяткові дроби |
| Предмет/Тип: Математика (Реферат) |
| Тема: Десятичные дроби |
| Предмет/Тип: Математика (Реферат) |
| Тема: Формирование устных вычислительных навыков пятиклассников при изучении темы "Десятичные дроби" |
| Предмет/Тип: Педагогика (Диплом) |
Интересная статья: Быстрое написание курсовой работы

(Назад)
(Cкачать работу)