Преобразование полинома

Форум, посвященный общим вопросам, связанным с MATLAB

Модератор: Admin

stefan1
Пользователь
Сообщения: 14
Зарегистрирован: Чт ноя 22, 2012 9:34 pm

Преобразование полинома

Сообщение stefan1 » Вт фев 13, 2018 11:29 am

Добрый день.
Есть полином 6-й степени:
y=A*sinx+A2*(sinx)^2+A3*(sinx)^3+A4*(sinx)^4+A5*(sinx)^5+A6*(sinx)^6
Требуется понизить степень полинома до 1. В результате должно получиться аналитическое выражение. Подскажите пожалуйста можно ли в Matlab так преобразовать данное выражение?

sandy
Эксперт
Сообщения: 5366
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Преобразование полинома

Сообщение sandy » Вт фев 13, 2018 1:02 pm

Требуется понизить степень полинома до 1.

В каком смысле? Преобразовать степени синуса к синусам/косинусам кратных углов? Тогда так:

Код: Выделить всё

syms x a1 a2 a3
y = a1*sin(x)+a2*sin(x)^2+a3*sin(x)^3;
combine(y, 'sincos')

ans =
 
a2/2 - (a3*sin(3*x))/4 + a1*sin(x) + (3*a3*sin(x))/4 - (a2*cos(2*x))/2
С уважением

Александр Сергиенко

stefan1
Пользователь
Сообщения: 14
Зарегистрирован: Чт ноя 22, 2012 9:34 pm

Re: Преобразование полинома

Сообщение stefan1 » Вт фев 13, 2018 2:00 pm

sandy писал(а):
Требуется понизить степень полинома до 1.

В каком смысле? Преобразовать степени синуса к синусам/косинусам кратных углов? Тогда так:...

Так как вы написали - не получается правильно преобразовать. Видимо, потому что у меня полином более сложный, чем тот, что представлен выше. В полиноме "sinх" на самом деле это "sin(w1*t)+sin(w2*t)", где w1 и w2 - это частоты, a t время).Требуется преобразовать полином так, чтобы степень каждого sin была равна 1. Таким образом, можно посмотреть спектр сигнала.

sandy
Эксперт
Сообщения: 5366
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Преобразование полинома

Сообщение sandy » Вт фев 13, 2018 2:47 pm

Тогда combine(expand(y), 'sincos').

expand раскроет степени суммы, а combine(..., 'sincos') понизит степени синусов.
С уважением



Александр Сергиенко

stefan1
Пользователь
Сообщения: 14
Зарегистрирован: Чт ноя 22, 2012 9:34 pm

Re: Преобразование полинома

Сообщение stefan1 » Вт фев 13, 2018 5:06 pm

sandy писал(а):Тогда combine(expand(y), 'sincos').

expand раскроет степени суммы, а combine(..., 'sincos') понизит степени синусов.


Так получилось! Спасибо огромное! А не подскажите литературу по matlab, где все подобные преобразования можно найти?

sandy
Эксперт
Сообщения: 5366
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Преобразование полинома

Сообщение sandy » Ср фев 14, 2018 12:28 am

В справке все написано. Лучшего источника нет.
С уважением



Александр Сергиенко