Доставка цветов в Севастополе: SevCvety.ru
Главная -> Справочник по алгоритмам

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

Пример. Многочлен А (р) =2р* + Ър + +р + Ьр+\ неустойчив, а многочлен А (р) - = 12р +1 гр" +16р +1 Ор + 5р +1 устойчив.

Вычисление значений дробно-рациональной функции комплексного переменного

B{Z)

a„Z"+a„-iZ"- + --+giZ + go

производится вычислением комплексных значений многочленов Л (Z) и В (Z) с последующим делением их по формуле (3.1). Программа 3.33.

дробно-рациоиальной функции при заданном Z. Так, для приведенного примера МОДУЛЬ = 0,04454466144, ФАЗА =

= -65,45048284°. Возможно также вычисление операторной функции F (р), где p=J4> (вводится ReZ = 0 и ImZ = co) а также вычисление функции f (Z) = 1 /В (Z) (вводится. т=1, ai=0 и ао=1). Для вычисления дробно-рациональной функции вводится ReZ = x и Im Z = 0.

Деление степенного многочлена А{х) па двухчлен B(jc) = ( + 6ix + fco) выполняется для понижения степени исходного многочлена А (х). Если А (х) - многочлен четной степени, то из него можно выделить квад-

18 PRINTВЫЧИСЛЕНИЕ ДРОБНОРЙЦИОНйЛЬНОй ФУНКЦИИ

28 PRINTF<:Z>=A<:Z>B<Z> КОМПЛЕКСНОГО ПЕРЕМЕННОГО

30 IhPUTВВЕДИТЕ СТЕПЕНИ МНОГОЧЛЕНОВ A<Z> И B<Z> MrN

40 DIM A<:M>,B<N>!F0R I=M to 8 STEP -1

50 PRINT!2.8[ВВЕДИТЕ ftI!INPUT ft<I>!NEXT I

60 FOR I=N TO 0 STEP -l:PRINTВВЕДИТЕ ВI

78 I№UT B<I>!NEXT I

80 1НРиТВВЕДИТЕ RE Zf IM ZXA:LETR=ft<M>:LETJ=0 90 FOR 1=1 TO M:LETE=X*R-V*J+ft<M-I> 180 LETF=V*R+X*J: LETR=E s LETJ=F! NEXT I 110 LETQ=RsLETU=J:LETR=B<:N>sLETJ=0 120. FOR 1=1 TO N!LETE=X*R-Vi«J+B<N-I> 138 LETF=V*R+Xi«j!LETR=E! LETJ=F:NEXT I 148 LETC=R*R+F!«F:lETD=Q«R+U*F 150 LETE=U*R-G!*F: LETP=D/C s LET I =EC 168 PRINT!F1.9!RE F<:Z>=PspRINT IM F<:Z>=I " 170 LETM1f=SQR<:P«P+I*I>s LETG!=fttN<IPJ 175 PRINTМОДУЛЬ M=M 180 PRINT?A3ft В РАДИАНАХ G!=G 190 PRINTФАЗА В ГРАДУСАХ 0=G!*ie0#PI 280 GOTO 80!END Контрольный пример. Для функ-

F17 =r- 3Z + 2Z + Z-f 0.5

5Z + 4Z* + 3Z + 2Z + Z + 0,2

где m = 3 и n = 5, при Z = 3+/-2 получим f (3+/ 2) = 0,01850739412 - / • 0,040551793708. Программа 3.33 обеспечивает также вычисление модуля

МОДУЛЬ f(Z) = и фазы

ФАЗА F (Z)

ратичный множитель В(х). и использовать операцию деления для исключения двух корней, полученных из рещения уравнения В(х)=0. В общем случае деление А(х) на В(х) дает многочлен D{x) и остаток R{x)=r,x-ro. Программа 3.34. Пример. Для выражения

А(х) U + 7x+15x+15x + 4x=-3x+125

В{х)

получ нм D (х) = Ix" + 9х + 31 + 59х + 60 при остатке R(x) = - 1х + 5.

=VlRef(2)] = +IImf(Z)] = arctg [Im F (Z)/Ref (Z)] Программа 3.34.

05 PRINTДЕЛЕНИЕ МНОГОЧЛЕНА Й<Х) СТЕПЕНИ n 10 PRINTHA ДВУХЧЛЕН A<X)=X2+B1*X + ВО 20 INPUTВВЕДИТЕ NBbBO N,C>B!DIM А<:Н> 30 FOR I=N TO 8 STEP -1

40 PRINT!2.0!ВВЕДИТЕ КОЭФФИЦИЕНТ AI = 45 INPUT A<I>!NEXT I

50 LETV=A<:n> : LETN=N-1 s LETX=A<;N) : LETN=N-1 60 FOR I=N TO 0 STEP -1 80 GOSUB 100:NEXT I 90 GOTO 120

100 LETD=X-V*C!LETE=A<I>:LETA<I>=V

118 LETX=E-V*B!LETV=D: RETURN

120 PRINT!F1.9!ОСТАТОК R<X>=V*X + <X>

130 PRINTКОЭФФИЦИЕНТЫ МНОГОЧЛЕНА-ЧАСТНОГО

140 FOR I=N TO 0 STEP -1

158 PRINT!2.0!AI=!F1.9!A<I)

160 NEXT I:END

x-2x + 2



Программа 3.36.

10 PRINTVMHOWEHHE МНОГОЧЛЕНА A<X) СТЕПЕНИ M

20 PRINT HA МНОГОЧЛЕН B<X> СТЕПЕНИ N

30 ШРиТВВЕДИТЕ MjN MrNsDIM A<M+M+1)

40 FOR I=M TO 0 STEP -1

50 PRINT!2.e!AI=:lNPLlT A«:i):NEXT I

60 FOR I=N+M TO M STEP -1

70 PRINT!2.0!BI-M=!INPUT Ы

80 FOR J=M TO 1 STEP -1

90 LETA<J+M+l)=ft<J>*bl+A<J+M)!NEXT J

108 LETA<M+l)=A<:@>*bl

lie PRINT!2.0!CI=!F1.9!A<M+M+1>!NEXT I

120 FOR I=M-1 TO @ STEP -1

130 PRINT!2.@!CI=!F1.9!A<I+M+1)

140 NEXT I:PRINTКОНЕЦ ВЫЧИСЛЕНИЙ:END

Вычисление значения полинома Р(х) = = a„x"+a„ ix"~ + ...4-aix4-ao в точке х = с и деление Р(х) на (х -с) выполняется по следующему алгоритму.

1. Вводим коэффициенты а„, a„ -i, .. ..., Oi, Оо полинома Р (х).

2. Задаем aiUn {i = n).

3. Преобразуем а, по рекуррентной формуле а, = а, + а, С с помощью цикла с управляющей переменной i, меняющейся от значения п - 1 до О с шагом - 1.

4. На каждом цикле п. 3, кроме i = 0, выводим значения B, = a, i полинома В (х) = =Л (x)/(x-c) = fc„ ,.v"-+b«-2x"-4 ... ...+b,x + bo, имеющего порядок (и -1).

5. По окончании цикла по п. 3, 4 выводим Я(х)==ао.

Если с-корень Р{х), то деление Р(х) на (х - с) может применяться для понижения степени многочлена и поиска его очередного корня.

Программа 3.35.

Пример. Для многочлена Р(х) =3x4---2x -5x + 7 при п = 3 и с = 3 получим В (х)=Зл:+11+28 и Р (с)=91.

Умножение многочлена Л(х)=а„х" +

+ а„ ,х"- +

+ а\Х+ао степени т на

многочлен В (х) =fc„x" + fc„ ix" + ...-f -ffco дает многочлен С(л) =с,„+„х"+" + + c„+„ ,x"+"- + --+Cix-f Со степени

(m-fn). Эта операция выполняется по следующему алгоритму.

1. Вводим коэффициенты а„„ a„, i, ...

01, Оо.

2. Организуем внешний «цикл вычислений Ci, задав начальное значение управляющей переменной цикла i=(n + m) и конечное значение m с шагом - 1. В начале каждого цикла вводим и переходим к п. 3.

3. Организуем внутренний цикл с управляющей переменной /, меняющейся от / = т до 1 с шагом 1. В этом цикле преобразуем коэффициенты многочлена Л(х) по формуле

aj + m+i-ajbi-m-\-aj+m-

4. При выходе из внутреннего цикла вычисляем а„+1=аоЬ.--ш, выводим на печать с,=а2„+ и переходим к п. 2 (т. е. завершаем внешний цикл).

5. С помощью цикла с управляющей переменной i, меняющейся от i = m -1 до О с шагом -1, выводим на печать последние т значений c, = a,+m+i.

Программа 3.S6.

Пример. Для А{х)=Ах + Ъх + 2х+ + 1х + 0,5 и В(х)=2л:+1л:+0.4 получим многочлен С (х) =8x+1 Ох + 8,6л: -f 5,2л: + -f 2.8x-f 0,9x+0,2.

§ 3.4. Вычисление ортогональных многочленов

Ортогональные многочлены Чебышева Тп (х) = (О (х) являются решениями дифференциального уравнения второго порядка

-4-«2(O = 0.

(3.2)

Они могут вычисляться с помощью явного выражения

ТАх) = cos [п а rccos х) (3.3)

или по рекуррентным формулам Ti+\(x) =

= 2л:Г;(х) -r, ,(x) при ro(Jc)=l и Т,{х)=х.

Дифференциальному уравнению (3.2) соответствуют и решения в виде функций

05 PRINTВЫЧИСЛЕНИЕ P<C> И ДЕЛЕНИЕ PCX) НА <X-C)

10 ШРиТВВЕДИТЕ ЗНАЧЕНИЯ Nj.C N,C!D1M АШ>

£8 FOR I=N TO 0 STEP -1

Зв PRINT!2.e•ftI=!lHPLlT ft<I):NEXT I

48 PR1NT!2.8!BN-1=!F1.9!A<N)

50 FOR I=N-1 TO e STEP -1

60 LETft<l>=A<I>+A<I+l>i«C

78 IF IO0 THEN PR1NT!2.0!BI-1=!F1.9!A<I) 80 NEXT l:pRINT!F1.9!P<X)=f.<0>:ENri



Программа 3.38.

10 PRINTВЫЧИСЛЕНИЕ МНОГОЧЛЕНА ЛЕАНДРА

20 INPUTВВЕДИТЕ N>=2 N=N

25 INPUTВВЕДИТЕ X=X:LETA=l!LETB=X

30 FOR 1=1 TO N-1

48 LETP= < < 2ЖI+1 > ЖХЖВ- Г*A > < I +1 >

50 LETA=B: LETB=P: NEXT I

60 PRINTPN«lX>=P: GOTO 25:ENB

Программа 3.39.

10 PRINT ВЫЧИСЛЕНИЕ МНОГОЧЛЕНА ЛАГЕРРА 20 INPUT ВВЕДИТЕ N>=2 N=N

30 INPUT ВВЕДИТЕ X=X : LET A=l LET B=l-X

48 FOR 1=1 TO N-1

50 LET L=<:<2*I+l-X>*B-r*A><I+l>

60 LET A=B ! LET B=L : NEXT I

78 PRINT LN«lX)=L s GOTO 30 : ENB

Бесселя второго рода UJx): l/o(x) = arcsin X,

t/„(x) = sin(n arccosx)=-5-

(3.4)

T„(x).

Они также могут вычисляться с помощью рекуррентных формул

(У,+,=2х1/,{х)-1/, ,(х), i=L 2,

при Udx)=\ и Uy(x) = 2x.

Поскольку в большинстве версий языка бейсик предусмотрено вычисление обратных тригонометрических функций, вычисление 7"„(х) и Un(x) целесообразно выполнять по явным формулам (3.3) и (3.4).

Программа 3.37.

Контрольные примеры. 7")(0,1) = = -0,26; t/3(0,I)=-0,392.

Ортогональные многочлены Лежандра Рп(х) являются решениями дифференциального уравнения

(\-х)-2х-+п («-f 1) « = 0

вычисляться

по рекуррентным

и могут формулам

Р,+, (х)=((И + 1) xPix) - iP. -, (х)) l{i + I), i=L 2, .... n-1,

при Ptix)=\ и P\(x)=x. Программа 3.38.

Приме p. Дляп = 4 и х = 3 Р4(х) = 55,375. Ортогональные многочлены Лагерра L„{x) являются решениями дифференциального

уравнения

+ (1-х)-+п(о = 0

и вычисляются с помощью рекуррентных формул

L + 1 И =

= ({2i+l-x) L,(x)-iU~, (x))/(i+\), j=l, 2, n-I,

при Lx)-\ и L\(x)=\-x. Программа 3.39.

Пример. Z.io(3)= -0,7000223214; Z.,o(10) = 27.98412698.

Ортогональные многочлены Эрмита Я„(х) соответствуют решениям дифференциального уравнения

d(j> п dw , п „ -г-5-2х-;-\-2пь> = 0 dx dx

и вычисляются по рекуррентным формулам Я,+ (х)=2хН, {x)-2iH,-i (х), /=1, 2, ....n-l,

при Яо(х)=1, Н,(х)=2х. Программа 3.40.

10 PRINTВЫЧИСЛЕНИЕ МНОГОЧЛЕНА ЭРМИТА

20 INPUTВВЕДИТЕ N>=2 N=N

38 INPUTВВЕДИТЕ Х=Х: LETft=l: LETB=2*K

40 FOR 1=1 TO N-1

50 LETH=2*X*B-2*I*A

60 LETA=B:LETB=H:NEXT I

fe PRINTHN<K>=H:GOTO 30:ENB

Пример. Я,о(3) = -3093984, Яо(10) = = 8,09327821-lOl

le PRINT ВЫЧИСЛЕНИЕ МНОГОЧЛЕНА ЧЕЕЫШЕВЙ 15 INPUT ВВЕДИТЕ Н=Н

20 INPUT МНОГОЧЛЕН 1-ГО ИЛИ 2-ГО РОДА R 30 INPUT ВВЕДИТЕ К=Х 40 IF R=2 THEN 60

50 PRINT TN<>0 = COS«lH*ACS<X>) : GOTO 30

60 PRINT UN<X> > = SIN< tN+nftCSOO >SIN«lAC:SCX> )

78 GOTO 30 i ENB



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78



0.014
Яндекс.Метрика