Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.89
Dragjj
1 / 1 / 0
Регистрация: 26.07.2009
Сообщений: 19
#1

Многочлен P(x) степени N - C++

01.10.2009, 13:04. Просмотров 3800. Ответов 7
Метки нет (Все метки)

помогите с задачкой: задача: Дан многочлен Р(х) степени N. Даны действительные числа А и В. Получить многочлен (Ах+В)Р(х).
прогу писать не нада. помогите плиз написать математическую формулу решения задачи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2009, 13:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Многочлен P(x) степени N (C++):

Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x) - C++
Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x). :help: ...

Многочлен n-ой степени. Списки - C++
Не могли бы Вы помочь мне с решение следующей задачи: Многочлен n-ой степени можно представить в виде списка, где каждый элемент состоит...

Многочлен n+1ой степени - C++
Дан многочлен P(x) степени n. Дано натур. число n, действительные числа a0 , ... , an и d0 , ... , dn. Получить многочлен n + 1 - ой...

Даны действительные числа a0,.a5, d0,.d5 . Получить многочлен шестой степени d0+d1(x-a0)+d2(x-a0)(x-a1)+.+d5(x-a0) - C++
Даны действительные числа a0,...a5, d0,...d5 . Получить многочлен шестой степени d0+d1(x-a0)+d2(x-a0)(x-a1)+...+d5(x-a0)...(x-a5).:umbrage:

Дан многочлен P(x) степени n. Получить его производную P'(x), а также вычислить P'(1),P'(2),P'(3) - C++
Дан многочлен P(x) степени n. Получить его производную P'(x), а также вычислить P'(1),P'(2),P'(3). Есть такой код, для него...

Сгенерировать случайным образом многочлен P(x) степени N и найти интеграл P(x) от a до b для заданных a и b - C++
Сгенерировать случайным образом многочлен P(x) степени N и найти интеграл P(x) от a до b для заданных a и b. Мыслей совсем нет, подскажите...

7
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
01.10.2009, 13:18 #2
Получить многочлен (Ах+В)Р(х)
степень Р(х) должна стать N-1 как я понимаю? требуется найти корень уравнения P(x)=0 равный x=-B/A, если он конечно сущетсвует
0
Dragjj
1 / 1 / 0
Регистрация: 26.07.2009
Сообщений: 19
01.10.2009, 13:23  [ТС] #3
у меня хреново с математикой. ни слова не понял из того что ты сказал. вот пример: Берем полином 4*x^2 + x + 2 и умножаем на (Ax + B).
4*x^2 + x + 2
*
1x + 2
=
4x^3 + x^2 + 2x
+
8x^2 + 2x + 4
=
4x^3 + 9x^2 + 4x + 4
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
01.10.2009, 20:49 #4
Цитата Сообщение от Dragjj Посмотреть сообщение
у меня хреново с математикой.
а кому щас легко. алгоритм предогаю такой
1. подставляешь в P(х) x=-B/A, то есть считаешь результат Р(-B/A), если Р(-B/A)==0. шаг 2, иначе выводи что нет многочлена (Ах+В)Р(х). (это понятно?)
2. методом неопределённых коэфициентов находишь многочлен Р(х) который из (Ах+В)Р(х).
сам метод такой
Деление многочлена с остатком [4].
В отличие от операций сложения и умножения многочленов операция деления многочлена на многочлен выполнима не всегда. Иными словами, если заданы многочлены A(x) и B(x), то не всегда найдется такой многочлен Q(x), что A(x)=Q(x)B(x).
Например, многочлен x3+3 не делится на многочлен x-3. Предположим иное, т.е. существует многочлен Q(x), x3+3=(x-3)Q(x). Тогда при замене x любым числом должно получиться верное равенство. Но при x=3 получаем: 33+3=(3-3)Q(x), т.е. 30=0 - неверное равенство.
Для многочленов определяется операция деления с остатком: пусть A(x) и B(x) - многочлены с действительными коэффициентами, причем B(x) - не нулевой многочлен. Тогда существуют такие многочлены Q(x) и R(x), что A(x)=B(x)Q(x)+R(x), причем степень многочлена R(x) меньше степени B(x).
При выполнении деления с остатком многочлена на многочлен часто бывает удобно применять метод неопределенных коэффициентов. Метод неопределенных коэффициентов заключается в том, что, когда известен вид искомых многочленов, но неизвестны их коэффициенты, заменяют в исследуемом тождестве эти многочлены их записью с неопределенными коэффициентами, приводят обе части равенства к стандартному виду, после чего приравнивают слева и справа коэффициенты при одинаковых степенях переменной. Это дает систему уравнений, позволяющую найти коэффициенты.
Пример. Разделим с остатком многочлен A(x)=3x5+2x4-3x3+6x2-x-1 на многочлен B(x)=x2+x+1.
Решение. Необходимо найти такие многочлены Q(x) и R(x), что
3x5+2x4-3x3+6x2-x-1= (x2+x+1)Q(x)+R(x). Причем, степень R(x) меньше степени B(x), т.е. не больше 2. Из того, что степень произведения многочленов равна сумме их степеней, следует, что степень Q(x) равна: 5-2=3. Т.е., хотя мы не знаем многочленов Q(x) и R(x), нам известны их степени. Но многочлены второй степени имеет вид Q(x)=q2x2+q1x+q0 и R(x)=r2x2+r1x+r0.
Подставляя эти выражения вместо Q(x) и R(x), получаем:
3x5+2x4-3x3+6x2-x-1=( x2+x+1)( q3x3+q2x2+q1x+q0)+ (r1x+r0).
Если в правой части этого равенства раскрыть скобки и привести подобные члены, то получим:
3x5+2x4-3x3+6x2-x-1= q3x5+( q2+ q3)x4+(q3+q2+q1)x3+(q0+q1+q2)x2+(q0+q1+r1)x+(q0+r0).
Это равенство должно выполняться для всех значений переменной. Но если два многочлена тождественно равны, то их коэффициенты при одинаковых степенях совпадают. Получаем систему уравнений: q3=3; q2+ q3=2; q3+q2+q1=3; q0+q1+q2=6; q0+q1+r1=-1; q0+r0=-1. Решая эту систему, получаем коэффициенты: q3=3; q2=-1; q1=-5; q0=12; r1=-8; r0=-13.
методов ещё есть немного, можешь почернуть отсюда.
1
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.10.2009, 21:19 #5
степень Р(х) должна стать N-1 как я понимаю?
2TanT: мне кажется ты все не так понял.
Нужно просто умножить многочлен (Ax+B) на многочлен P(x).
Про деление речи не идет !

Добавлено через 3 минуты
2Dragjj:
Ну так ты сам написал алгоритм.
Представляем многочлен P(x) в виде массива его коэффициентов.
Нужно получить массив для многочлена P2(x)= (Ax+B)P(x).
Размер будет на 1 больше - так как в P2(x) будет член x^(N+1).
Можно сразу заранее и P(x) сделать в виде массива на 1 больше.
double p[1+N+1], p2[1+N+1];
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
01.10.2009, 21:21 #6
odip, может быть, поэтому и спрашивал
степень Р(х) должна стать N-1 как я понимаю?
умножение многчлена на двучлен наверно не воспринимается как задача или просто невнимателен
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
02.10.2009, 04:37 #7
Цитата Сообщение от Dragjj
Получить многочлен (Ах+В)Р(х)
Код
(Ax)P(x)    = P1(x)
(B)P(x)     = P2(x)
P1(x)+P2(x) = P3(x)
нужно три новых многочлена, потому что первый и третий сдвинуты от исходного, а второй нет
0
Dragjj
1 / 1 / 0
Регистрация: 26.07.2009
Сообщений: 19
02.10.2009, 05:05  [ТС] #8
Большое всем спасибо за помощь!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 05:05
Привет! Вот еще темы с ответами:

Многочлен степени n задан массивом своих коэффициентов. Подсчитать коэффициенты производной многочлена. - C++
7.2.1. Помогите, пожалуйста, решить задачу в С++. Многочлен степени n задан массивом своих коэффициентов. Подсчитать коэффициенты...

Как создать многочлен n-ой степени, где коэффициенты многочлена выводятся через массив? - C++
как создать многочлен н-ой степени где коэффициенты многочлена выводятся через массив

Класс "Многочлен 2 степени" - C++
создать класс многочлен 2 степени, методы: сумма 2 многочленов, умножение многочлена на число, умножение 2 многочленов, нахождение его...

Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку - C++
Ребят, такая проблема, задание: Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
02.10.2009, 05:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru