Доставка цветов в Севастополе: 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

16 REMОБРАЩЕНИЕ МАТРИЦЫ А

£0 ХНРиТЗАДАйТЕ Н=Н! N=N-l!BIM А<Н,Н>тВ(Н,Н),С<Н,Н)

30 ПйТА 4/8,0,8,0,8/2,0/1

48 МАТ REAB As МАТ A=IHU<e,C>

50 PRINTiFl.5!ОПРЕДЕЛИТЕЛЬ МАТРИЦЫ А »=В<0) 60 PRINTМАССИВ ОБРАЩЕННОЙ МАТРИЦЫ ПОСТРОЧНО 70 мат PRINT а;ENB

Программа П5.12/3.

18 REMУМНОЖЕНИЕ МАТРИЦ 20 BIM A<3,4>,b;4,2),C<3,2)

30 ВАТА 1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,5,1,2 40 МАТ REAB А

58 ВАТА 1,2,3,1,2,3,1,2,3,1,2,3,1,2,3 60 МАТ REAB В 78 МАТ С=АжВ

80 PRINT !F1.5!ВЫВОД ПОСТРОЧНО ЭЛЕМЕНТОВ МАТРИЦЫ С 90 МАТ PRINT С:ENB

Программа иллюстрирует умножение двух в 10 раз. Программу П5.12/4 можно проверить матриц Л и В с применением оператора МАТС= по контрольному примеру, приведенному к про-= А*В. Числовые значения элементов матриц А грамме П5.2.

и В соответствуют коитрольнсаду примеру к про- Решение системы уравнений АХ=В с приме-

грамме 3.58 Следует отметить, что в- этом нением формулы Х = /?~"В практикуется редко, примере размеры всех матриц различны. Эле- так как другие методы (например, Гаусса) менты результата - матрицы С - выводятся по- обеспечивают в 2-3 раза меньшее время вы-строчно: 15, 30, 45, 31, 62, 93, 20, 40, 60, 27, числений - при условии одинаковой реализации. 54 и 81. Однако резкое уменьшение времени обращения

Программа П5.12/4. матриц с помощью специального матричного

18 PRINTОБРАЩЕНИЕ МАТРИЦЫ А, ВЫЧИСЛЕНИЕ ЕЕ ОПРЕДЕЛИТЕЛЯ 20 PRINTH РЕШЕНИЕ СИСТЕМЫ УРАВНЕНИЙ A*X=b ПРИ РАЗНЫХ В 38 ШРиТЗАДАйТЕ ЧИСЛО УРАВНЕНИЙ Н=н5 N=N-1

48 BIM a<:n,n),b<:n),c<n,n),b<n,n),x<n)

58 FOR 1=8 ТО NsFOR 0=8 ТО NsPRINT!2.8!ВВЕДИТЕ AI+1,J+1

68 INPUT Aa,.J>sNEXT JsNEXT isMAT A=IHU<c,B)

78 PRINT!F1.5!ВЫВОД ЭЛЕМЕНТОВ ОБРАЩЕННОЙ МАТРИЦЫ

88 МАТ PRIHT as PRINTОПРЕДЕЛИТЕЛЬ МАТРИЦЫ А В=С<0)

90 INPUTБУДЕТ ЛИ РЕШАТЬСЯ СИСТЕМА УРАВНЕНИЙ? ДА 1,НЕТ 8 К

188 IF К=0 THEN PRINTВЫЧИСЛЕНИЯ ОКОНЧЕНЫsENB

110 FOR 1=0 ТО NsPRINT!2.0!BBEAHTE ВI+l

120 INPUT BCDSNEXT IsMAT X=A*b

130 PRIHT!F1.5!МАССИВ НЕИЗВЕСТНЫХ СИСТЕМЫ

148 MAT PRINT X:PRINTКОНЕЦsGOTO SSsEHB

Эта программа обеспечивает ввод с пульта оператора МАТ 1NV и оператора умножения

элементов квадратной матрицы/1 размером ЛXЛ. матриц в конечном счете обеспечивает сущест-

обрашение матрицы Л, вычисление ее определи- венное уменьшение времени вычислений. Этот

теля, ввод вектора с числом компонентов Ли реше- пример наглядно показывает, что наличие спе-

ние системы линейных уравнений АХ = В для цнальных операторов в некоторых версиях

разных В методом обращения матрицы, т. е. бейсика может существенно влиять на целесо-

вычисление Х=Л~В. Программа аналогична образность применения того нли иного численного

программе П5.2, но вдвое короче ее и обеспе- метода, чивает уменьшение времени вычислений примерно Программа П5.12/5.

18 PRINTРЕШЕНИЕ СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 20 PRINTМОДИФИЦИРОВАННЫМ МЕТОДОМ НЬЮТОНА.ВАР.2 38 ШРиТЗАДАйТЕ ЧИСЛО УРАВНЕНИЙ N=Ns N=N-1

40 BIM x<n>,b<h>,f<h),a<:n,n>,k<n,n>,l<n,n>

58 INPUTЗАДАЙТЕ МАКСИМАЛЬНОЕ ЧИСЛО ИТЕРАЦИЙ М=М

60 INPUTЗАДАЙТЕ ОТНОСИТЕЛЬНУЮ ПОГРЕШНОСТЬ E=Es 3=8

70 FOR 1=8 ТО HsPRlNT!2.8!ВВЕДИТЕ XI<е>s INPUT XCDsHEXT I

80 60sub 188 5 MAT b=F

98 FOR J=0 TO ns V=X<J>s H=E*ABS<V>

100 X<J>=V+HsGOSUB 180SFOR 1=0 TO H

110 A<I,J)=<F<:i)-b<I)>>HshEXT is XtJ)=VsNEXT J

120 s=s+15IF s=M+1 THEH PRINTHHCflO ИТЕРАЦИЙ s=MsENB

130 MAT A=INU<k,L)!MAT b=A*f5mat X=X-b

140 R=0SFOR 1=0 TO NSIF ABS(b<I)>X<:i)>>E THEN R=l



150 NEXT I:IF R=l THEH 80

1§? PRINT!F1.9!MftCCHB НЕИЗВЕСТНЫХ СИСТЕМЫ

1ГИ МАТ PRIHT X:PRIMT!2.0i4MCnO ИТЕРАЦИЙ s=s!EHI!

180 REMПОДПРОГРАММА ВЫЧИСЛЕНИЯ F<I)=F<X<0),Xa)r...rX<H-l)>

1Э8 . F<0)=X<8)+3«L.6T<X<e))-X<l)*Xa>

200 Р<и=2жХ<0>жХ<8>~-Х<8>жХ<1)-5жХС0>+1 • .

218 RETURNSEND

Эта программа обеспечивает решение систем Программа обеспечивает полиномиальную ап-

нелинейных уравнений модифицированным мето- проксимацию (и интерполяцию) функции yi {Xi), дом Ньютона (Ньютона - Рафсона). Программа заданной п-отсчетами (начиная с 1) по методу аналогична программе 4.20 и может быть про- наименьших квадратов. Программа аналогична верена по контрольному примеру к последней. программе 5.25 и может быть проверена по

Программа П5.12/6. контрольному при.".!еру для программы 5.24.

10 PRINTПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ И ИНТЕРПОЛЯЦИЯ

28 1НРиТЗАДАйТЕ ЧИСЛО ОТСЧЕТОВ N=Hs М=Н-1

30 DIM A<M»M?»C<M»M>jD<M»M>rBai>,X(M)

40 FOR 1=0 ТО MS PRINT!2.0!ВВЕДИТЕ XF,VI

50 IHPUT 2>B<I>s Aar0>=l! R=liFOR J=l TO M

60 R=mZi A<I»J)=RSNEXT JsNEXT I

70 MAT A=INU<C»D)sMAT Х=АжВ

80 PRINT !F1.9!КОЭФФИЦИЕНТЫ A0.-АЬ . .AMsMAT PRIHT X

90 INPUTВВЕДИТЕ X=2! V=2*X.;M)

100 FOR I=M-1 to 1 step-ls У=<У+Х<1)>ж2гНЕХТ I

110 V=V+X<0>!PRINTV<X)=V:GOTO 98:ENB

Программа П5.12/6 обеспечивает аппроксимацию таблично заданной п значениями х, и у, функции у,- (лг,) с помощью полинома

y = ai,-{-aiX-{-a2x+ .. +а,„х".

§ П5.13. Приближение функций по Чебышеву

Среди многочленов, с помощью которых можно приближенно задать функцию f (х), особое место где т = « -1. Вычисление коэффициентов этого занимают многочлены Чебышева Г, (л;) (см. §3.4). полинома осуществляется реигением системы Многочлены Т, (х) формируются с помощью линейных (относительно коэффициентов an, ai, ... рекуррентного соотношения {х) =2хТ, (х) -

а,„) уравнений -T,-i (х), при То (х) =1, Т, [х) =.\-. Таким обра-

а, + а,х„ + а2х(,+ ... +а,„л;;==у„, зом, получаем: П (х) =2x-1; П (х)=4х-3х;

„„ а,х, +С2ХГ + ... +а,„хТ = у,, Т, (х) =8х-8х;+1 и т. д. Значения х должны

быть в пределах[ - !, 1 ].

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

aa + a,x„, + a2f„+ ... +а„х%у,.

Программа позволяет также находить у (х) по шееа, которая записывается в виде составного

задаино.аду х, т. е. обеспечивает интерполяцию. многочлена Т (х) =авТо (х)+а\Т\ (х) +

Данный метод обычно сложнее и требует ... Ч-алп (х), где оо, ai, .... а„ - коэффициенты

больших затрат времени, чем аппроксимация Чебышева. ч

и интерполяция методами Ньютона или Лагранжа Приближение функции / (х) с помощью мно-

(§ 4.2). Однако из-за высокой скорости решения гочлена Т (х) обеспечивает минимальную по-

систем линейных уравнений с помощью матрич- грешность отклонения Т (х) от / (х) (в сравнении

пых операторов программа П5.!2/6 обеспечивает с другими интерполяционными многочленами),

в несколько раз меньшее время вычисления Это достигается за счет оптимального выбора

коэффициентов с.,, а....., а,„ и имеет вдвое узлов интерполяции в заданном промежутке

меньшую длину листинга, чем программа 4.7. изменения аргумента х. Многочлен. 7 (х)

Программу По.12/6 можно проверить по кон- может быть представлен вформе обычного сте-

трольному примеру к программе 4.7. пенного многочлена (полинома) Р(х)=ао +

Программа П5.12/7. +aix + a2x + ... +а„х".

10 PRINTПОЛИНОМИАЛЬНАЯ АППРОКСИМАЦИЯ И ИНТЕРПОЛЯЦИЯ 28 PRINT МЕТОДОМ НАИМЕНЬШИХ КВАДРАТОВ

30 1НРиТБВЕДИТЕ СТЕПЕНЬ ПОЛИНОМА M=N! Р=2ж<Н+1) 40 DIM A(NfN)rB<H)jrC(P>fD<NrN)/E<Nj.N)fX<N> 50 INPUTЗАДАЙТЕ ЧИСЛО ПАР XjV N=H

60 FOR 1=0 ТО H-l!PRINT!3.0!ДЛЯ I=Is INPUTВВЕДИТЕ X,V X,V

70 F=lsFOR J=0 TO PsiF J>N THEN 90

88 B<J)=B<J)+V! V=V!«X

98 C<J)=C<J>+F! F=F*XsNEXT JsNEXT I

180 FOR 1=0 TO Ns K=l!FOR J=0 TO N

110 ACIfJ>=C(K)s K=K+l!NEXT JsNEXT I

128 MAT A=IHU(D,E>sMAT Х=А!кВ

138 PRIHT!F1.9!КОЭФФИЦИЕНТЫ ПОЛИНОМАsMAT PRINT X 140 PRINT! ШРиТВВЕДИТЕ X=2! S=e!FOR I=N TO 1 STEP -1 150 S=<S+X<I))*2!NEXT I! S=S+X<0) 160 PRINTЗНАЧЕНИЕ V<X)=S!GOTO 140!END-



Алгоритм преобразования линейной комбинации многочленов Чебышева в обычный степенной многочлен.

1. Вводим коэффициенты «о, oi, а„ многочлена Т (х) я образуем массив а (i).

2. Делнм Оо на 2: ао=ао/2.

3. Для у = 2, 3.....п и fc=n. n-1.....i

проводим преобразования коэффициентов по формулам

о*-2=а(, 2-ац; ai,=2at.

В результате получаем коэффициенты а степенного полинома Р (х).

Алгоритм преобразовании коэффициентов степенного полинома в коэффициенты, линейной комбинации многочленов Чебышева.

1. Вводим коэффициенты степенного полинома с

2. Для i = n, п-1.....2 и k=j, /-(-!.....п

выполняем преобразования коэффициентов по формулам a\=ak/2; а4 2 = а*-2-1-а*.

3. Умножаем оо на 2: ао==2ас.

В результате получаем коэффициенты Чебышева для Т {х).

Программа П5.13/1.

2. Для /=0. 1, .... я на отрезке [-1,5] формируем сетку оптимальных значений аргумента в узлах чебышевской интерполяции xl--

= cos(-----

ЬА-а

, приводим х\ в отрезок -Xi и вычисляем значе-

ИИЯ f (Xi).

3. Для А = 0, I, .... п и t = 0, I.....я вычисляем

(Xi) cos

(2t-(-l) fcn

2 (n-(-I)

В результате получаем коэффициенты Оо, ... ..., многочлена 7" (д), приближающего функцию / (х), т. е. аппроксимируем / (д:) многочленом Т (х).

Вычисление значений Г (х) выполняется по следующему алгоритму.

1. Считая заданным массив Os, задаем память под массив из {п-(-2) вспомогательных коэффициентов 6*. Полагаем fcn+2 = 0 и 6„+i = 0.

le PRIHTПРЕОБРйЗОВЙННЕ КОЭФФИЦИЕНТОВ ИНОГОЧ.ПЕНОВ ТОО ИР>;Х),

20 IHPUTВВЕДИТЕ СТЕПЕНЬ ННОГОЧПЕНА Н=н1!Б1Г1 ftCH)

25 FOR 1=0 ТО H!PRIHT!2,6!ВВЕДИТЕ ftI:IHPUT ftCDsNEXT I

30 PRIHTВВЕДИТЕ КОД ИСХОДНОГО MhOrOH.flEHft

40 1НРиТ0-ДЯЯ Т(М) И 1-ДГ1Я PCX) S!IF S=i THEN ВО

50 L.ETftC0)=ft<0)x2sFOR J=2 TO HsFOR K=H TO J STEP-l

60LETftCK-2)=A<K-2>-ft<K>sLETft<K)=2»:AK>

70 NEXT KSHEXT JsBOTO 130

80 FOR J=H TO 2 STEP-15 FOR K=0 TO H

90 LETftCK)=ft<K>-2sLETftCK-2>=A<K-2>+ACK)

100 HEXT k5hext .Jsl ETA<8)=A<e)*2

110 IF K=l THEH PRIHTКОЭФФИЦИЕНТЫ МНОГОЧЯЕНЙ POOsGOTO 138

128 PRIHTКОЭФФИЦИЕНТЫ МНОГОЧГЕНЙ Т<Х)

138 FOR 1=0 TO H5PRIHT!2.8!Ar=!F1.9!Aa>

140 NEXT isEHD

Работу программы можно проверить с помощью взаимного преобразования многочленов (п = = /V=4):

Т (x) = 8.757-0 (x) -t- 57-, (х) 472 (х) 1 Тз {х)

4-0,625Т4 (.«:),

Р (x) = H-2x-F3x«-F4jc-F5x

Алгоритм приблизкения функции по Чебышеву.

1. Задаем степень и многочлена Т (х) и пределы а, Ь области изменения аргумента х функции / (х).

2. Задаем значение х на отрезке [а, Ь] и переводим его в отрезок [ - 1,1] с помощью пре-

, (х-(Ь-а)/2)2

образования х=.---.

Ь -а)

3. Для k = n, п - 1, .... 1 вычисляем 6* = = at -Й4+24-26*+Х.

4. Находим 7" (х) =ао/2 -bz-FfciJC. Приведенная ниже программа обеспечивает

приближение / (л;) многочленом Т (х) заданной степени п, вычисление ао, oi, а„ многочлена Т (л) или Р (х) (задается кодом О или 1) и вычисление значения Т (х) илн Р (х). Программа П5.13/2.

10 PRINTПРИБЛИЖЕНИЕ ФУНКЦИИ ПО ЧЕБЫШЕВУ.

20 INPUTBBEfiHTE СТЕПЕНЬ МНОГОЧЛЕНА N=HsDIM V<:N),ft<:N),B<:H+2)

38 INPUTBBEAHTE ПРЕДЕЛЫ ИЗМЕНЕНИЯ X А,В ftbBl

48 LETQ=N+1 s 1 ЕТМ=#Р I 2-Q s LETC=СВ1 +ft 1 > .2 s 1 ЕТБ= С В1 -A 1 > 2

50 FOR 1=8 TO NsLETXl=COS(42«I + l>*M)5letx=C+D»:Xl

60 60SL1B 3005LETV<I>=FSNEXT I

78 FOR K=0 TO NSFOR 1=8 TO H

88 иЕТА<К>=Й>;К)+У<1)*С03>;КжС£ж1+1)жМ)!НЕХТ I

98 LETA*:K)=A<K)*2/QshEXT К

188 РР1НТЗЙДАйТЕ ВВОДОМ КОДА ВИД МНОГОЧЛЕНА 118 INPUTе-Т<Х)/1-Р<Х) SsIF S=l ТНЕН 158 120 PRINTКОЭФФИЦИЕНТЫ МНОГОЧЛЕНА Т<Х> 130 FOR 1=0 ТО NsPRINT!2.e!ftI=!Р1.9!Й<1> 148 NEXT IS GOTO 196



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.0077
Яндекс.Метрика