Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Doc_Polinom_Рагинис-1961_Ред_25-05-12.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
141.31 Кб
Скачать

ГУАП

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Слюсаренко А.С.

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

Реферат на тему

Полиномы. Корни полинома. Умножение и деление полиномов.

РАБОТУ ВЫПОЛНИЛ(А)

СТУДЕНТ(КА) ГР.

1961

подпись, дата

Рагинис Д.

инициалы, фамилия

Санкт-Петербург

2011

СОДЕРЖАНИЕ

Страница

Введение

3

1. Операции над полиномами

1.1 Умножение полиномов

4

2. Нахождение корней полиномов

2.1 Предварительный анализ функции

6

2.1.1 Метод секущих (метод хорд)

6

2.1.2 Метод касательных

6

2.2 Итерационные методы поиска корней полинома

2.2.1 Метод Ньютона

6

2.2.2 Метод Лина

9

2.2.3 Метод Бэрстоу

10

Список используемой литературы

Введение

В математике, многочлены или полиномы от одной переменной— функции вида

F(x)=c0|c1x|...|cnxn|

где ci фиксированные коэффициенты, а x — переменная. Многочлены составляют один из важнейших классов элементарных функций. Изучение полиномиальных уравнений и их решений составляло едва ли не главный объект «классической алгебры». С изучением многочленов связан целый ряд преобразований в математике: введение в рассмотрение нуля, отрицательных, а затем и комплексных чисел, а также появление теории групп как раздела математики и выделение классов специальных функций в анализе.

Техническая простота вычислений, связанных с многочленами, по сравнению с более сложными классами функций, а также тот факт, что множество многочленов плотно в пространстве непрерывных функций на компактных подмножествах евклидова пространства, способствовали развитию методов разложения в ряды и полиномиальной интерполяции в математическом анализе.

Многочлены также играют ключевую роль в алгебраической геометрии, объектом которой являются множества, определённые как решения систем многочленов. Особые свойства преобразования коэффициентов при умножении многочленов используются в алгебраической геометрии, алгебре, теории узлов и других разделах математики для кодирования, или выражения многочленами свойств различных объектов.

Целью работы является:

1) перемножение полиномов;

2) нахождение корней полинома, с применением метода Ньютона, Берстоу, Лина.

1. Операции над полиномами

1.1 Умножение полиномов

Возьмем для примера многочлены n-ой и m-ой степеней:

A(x)=a0 + a1*x + a2*x2 +…+ an*xn и B(x)=b0 +b1*x + b2*x2+ …+ bm*xm

Тогда произведением многочленов будет являться другой многочлен вида

D(x) = d0 + d1*x + d2*x2 + …+ dn+m*xn+m , где

dk=∑i+j=k(aibj) ; k=0...m+n

В частности,

d0=a0b0, d1=a0b1+a1b0 ... dn+m=anbm.

Также, если представить полиномы в виде векторов: А=(a0 a1 a2…an) а B=(b0 b1 b2...bn)

тогда произведением этих векторов будет являться матрица (n*m):

b0

b1

b2

bm

a0

a0 b0

a0 b1

a0 b2

a0 bm

a1

a1 b0

a1 b1

a1 b2

a1 bm

a2

a2 b0

a2 b1

a2 b2

a2 bm

an

an b0

an b1

an b2

an bm

с помощью которой можно определить значения вектора D =(d0 d1 d2…dm), которые будут равны суммам элементов лежащих на диагоналях.

Для примера возьмем два полинома 4-ой и 3-ей степени:

А4(x)=2+x+2x^2+x^3+2x^4

B3(x)=1+2x+x^2+2x^3

1

2

1

2

2

2

4

2

4

1

1

2

1

2

2

2

4

2

4

1

1

2

1

2

2

2

4

2

4

Следовательно А4(x)* B3(x)=С7(x)

С7(x)=2+5x +6x^2+10x^3+8x^4+9x^5+4x^6+4x^7

Программа на С++ для перемножения полиномов

#include <conio.h>;

#include <stdio.h>

#include <iostream.h>;

#include <stdlib.h>;

#include <math.h>;

void main()

{

clrscr();

float a[100],b[100],c[200];

int i,j,k,m,n;

printf("Vvedite stepen' polinoma An(x) \n");

cout<<"n"<<"=";

cin>>n;

printf("Vvedite stepen' polinoma Bm(x) \n");

cout<<"m"<<"=";

cin>>m;

printf("Vvedite koefficienty pri polinome: An\n");

for(i=0;i<=n; i++)

{

cout<<"a"<<i<<"=";

cin>>a[i];

}

printf("Vvedite koefficienty pri polinome:Bm(x)\n");

for(j=0;j<=m;j++)

{

cout<<"b"<<j<<"=";

cin>>b[j];

}

k=0;

while(k<=n+m)

{

c[k]=0;

for(i=0;i<=n;i++)

for(j=m;j>=0;j--)

{

if((i+j)==k)

{

c[k]=c[k]+a[i]*b[j];

};

};

if (k==0)

printf("znacheniya vektora\nC[%i]=%5.2f \n",k,c[k]); else

printf("C[%i]=%5.2f \n",k,c[k]);

k=k+1;

};

getch();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]