2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Ортогональные полиномы Чебышева
Сообщение16.12.2013, 09:19 


16/12/13
7
Здравствуйте, вопрос вот в чем, мне был дан курсовой проект, с темой "Ортогональные полиномы Чебышева", суть его: написать программу реализующие ортогональные полиномы Чебышева, скачал много лекций, почитал Википедию, не хватает, для осознания, парочки решенных простейших примеров, что бы закрепить на вашей практике знания.

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение16.12.2013, 12:03 
Заслуженный участник


12/08/10
1677
Напишите программу считающую многочлены
$P_0(x)=1$
$P_1(x)=x$
$P_2(x)=2x^2-1$
$P_{n+1}(x)=2xP_n(x)-P_{n-1}$
Многочлены хранить как массив a[N+1][N+1](это в С), т.е. $P_n(x)=a[n,0]+a[n,1]x+a[n,2]x^2+\dots+\a[n,m]x^m$.
Напишите код программы сюда. Пусть для начала $N=10$

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение16.12.2013, 14:44 


16/12/13
7
Null в сообщении #801924 писал(а):
Напишите программу считающую многочлены
$P_0(x)=1$
$P_1(x)=x$
$P_2(x)=2x^2-1$
$P_{n+1}(x)=2xP_n(x)-P_{n-1}$
Многочлены хранить как массив a[N+1][N+1](это в С), т.е. $P_n(x)=a[n,0]+a[n,1]x+a[n,2]x^2+\dots+\a[n,m]x^m$.
Напишите код программы сюда. Пусть для начала $N=10$


на Delphi

Код:
var a: array [1..10] of real;
x: real;
i: integer;
begin
  x := StrToFloat(edit1.text);
  a[1]:=1;
  a[2]:=x;
  for i=3 to 10 do
     a[i]:=2*a[i-1]*x-a[i-2];
end;


 i  Deggial: код оформил тегом code. Пользуйтесь тегом code!

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение16.12.2013, 14:56 
Заслуженный участник


12/08/10
1677
Вы посчитали значение в точке $x$, а я прошу коэффициенты многочленов.

-- Пн дек 16, 2013 15:59:19 --

Так же нумерация обычно начинается с 0.

-- Пн дек 16, 2013 16:06:36 --

Должно получаться что-то вроде(столбцы идут в обратном порядке, т.е. в самом правом столбце свободные члены многочленов)
$$
\begin{array}{ccccc}
0&0&0&0&1\\
0&0&0&1&0\\
0&0&2&0&-1\\
0&4&0&-3&0\\
8&0&-8&0&1\\
\end{array}$$

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение16.12.2013, 15:47 


16/12/13
7
Null в сообщении #802019 писал(а):
Вы посчитали значение в точке $x$, а я прошу коэффициенты многочленов.

понял, как можно быстрее отпишусь

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение16.12.2013, 20:37 
Заслуженный участник


11/05/08
32166
Null в сообщении #802019 писал(а):
Вы посчитали значение в точке $x$, а я прошу коэффициенты многочленов.

А зачем Вы это просите?... Запрошено ведь было:

g1_ang31 в сообщении #801864 писал(а):
написать программу реализующие ортогональные полиномы Чебышева,

Слова "реализовать многочлены" если и могут иметь хоть какой-то разумный смысл, то только один: сочинить процедуру, вычисляющую именно их значения. А для этого нахождение их коэффициентов попросту вредно.

-- Пн дек 16, 2013 21:41:54 --

Null в сообщении #802019 писал(а):
столбцы идут в обратном порядке, т.е. в самом правом столбце свободные члены многочленов

Это, кстати, плохо -- немобильно, т.к. программа слишком жёстко завязана на заранее заявленный размер массива. Гораздо разумнее хранить коэффициенты начиная с младшего, а в нулевом элементе -- текущую степень (пусть даже и не нормализованную).

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 08:49 


16/12/13
7
ewert в сообщении #802201 писал(а):
Null в сообщении #802019 писал(а):
Вы посчитали значение в точке $x$, а я прошу коэффициенты многочленов.

А зачем Вы это просите?... Запрошено ведь было:


Что бы потом можно было выводить многочлены в удобном виде на экран, на сколько я понял

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 13:08 
Заслуженный участник


12/08/10
1677
Цитата:
Это, кстати, плохо -- немобильно, т.к. программа слишком жёстко завязана на заранее заявленный размер массива. Гораздо разумнее хранить коэффициенты начиная с младшего, а в нулевом элементе -- текущую степень (пусть даже и не нормализованную).

Читайте внимательнее.
Цитата:
$P_n(x)=a[n,0]+a[n,1]x+a[n,2]x^2+\dots+\a[n,m]x^m$.

я же не предлагаю их в таком порядке хранить.

Цитата:
Слова "реализовать многочлены" если и могут иметь хоть какой-то разумный смысл, то только один: сочинить процедуру, вычисляющую именно их значения.

Это вопрос к преподавателю. Ну или к способу использования результата.

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 15:47 


16/12/13
7
Null в сообщении #802019 писал(а):
Вы посчитали значение в точке $x$, а я прошу коэффициенты многочленов.


Это оказалось сложнее чем я думал, а Вы бы не смогли мне написать формулу этих коэффициентов или подсказать где про нее почитать, в википедии мне не оч понятно, при x в 0 и x в максимальной степени все прозрачно, можно еще какую-нибудь зацепку?

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 16:02 


05/09/12
2587
g1_ang31, вычесть поэлементно из одного массива другой можете?

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 19:21 


16/12/13
7
_Ivana в сообщении #802613 писал(а):
g1_ang31, вычесть поэлементно из одного массива другой можете?


да, вполне

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 20:27 
Заслуженный участник


11/05/08
32166
g1_ang31 в сообщении #802604 писал(а):
а Вы бы не смогли мне написать формулу этих коэффициентов или подсказать где про нее почитать,

А Вам не нужна ни разу конкретная формула. Вам предъявили рекуррентное соотношение (или Вы сами его предъявили, не помню и не важно) -- вот в соответствии с ним и стройте процедуру, возвращающую по заданной степени набор коэффициентов соотв. многочлена.

Если, конечно, в техзадании запрашивались именно они (коэффициенты). В чём я лично до сих пор сильно сомневаюсь (нахрена именно они-то?...).Ведь в предъявленном на данный момент задании -- об этом ни гу-гу.

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 20:53 
Заслуженный участник


27/04/09
28128
Если уж так неясно, что делать с массивами коэффициентов…

Чтобы думать о коэффициентах полиномов, есть удобное обозначение — взятие коэффициента при переменной в данной степени. Например, в многочлене $P=2-x+3x^2$ коэффициент при второй степени икса — $3$. Это записывают коротко так: $[x^2]\,P = 3$ (можно читать «у $x^2$ в $P$ степень равна 3»). Остальные коэффициенты: $[x^1]\,P = -1, \; [x^0]\,P = 2$. А вот, например, $[x^5]\,P = 0$ — там этой степени не встречается.

Теперь вы можете записать, как меняются коэффициенты многочленов при операциях с ними. Сложим многочлены $P = p_0 + p_1x + \ldots$ и $Q = q_0 + q_1x + \ldots$ Получим многочлен $P+Q = (p_0 + q_0) + (p_1 + q_1)x + \ldots$ Коэффициенты при равных степенях складываются. Коротко это пишется $[x^m]\,(P+Q) = [x^m]\,P + [x^m]\,Q$.

Задачка 1: выразите $[x^m]\,(\alpha P)$ через $[x^m]\,P$; $\alpha$ — какое-то число.
Задачка 2: выразите $[x^m]\,(x^k P)$ через $[x^m]\,P$.
Задачка 3: как решения задачек 1 и 2 помогут вам с реализацией алгоритма?

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение17.12.2013, 22:47 


05/09/12
2587
Используется синтаксис Matlab M
N = 10; p = [0, 1; 1, 0];
for i = 3:N
    p = [[zeros(i-1, 1), p]; 2.*[p(i-1,:), 0] - [0, p(i-2,:)]];
end

Код:
p =

     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     2     0    -1
     0     0     0     0     0     0     4     0    -3     0
     0     0     0     0     0     8     0    -8     0     1
     0     0     0     0    16     0   -20     0     5     0
     0     0     0    32     0   -48     0    18     0    -1
     0     0    64     0  -112     0    56     0    -7     0
     0   128     0  -256     0   160     0   -32     0     1
   256     0  -576     0   432     0  -120     0     9     0

Надеюсь, это не лишит вас шанса подумать, как реализовать процедуру в Delphi

 Профиль  
                  
 
 Re: Ортогональные полиномы Чебышева
Сообщение20.12.2013, 08:47 


16/12/13
7
Всем огроменное спасибо, вы лучшие!!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group