|
Главная -> Справочник по алгоритмам 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 PRIHT*РЕШЕНИЕ ПЕРЕОПРЕДЕЛЕННОЙ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ 15 PRIHT МЕТОДОМ КВАДРАТНЫХ КОРНЕЙsPRINT 20 INPUTBBEAHTE ЧИСЛО НЕИЗВЕСТНЫХ Н=Н5В1М С<Н) 30 INPUTBBEAHTE ЧИСЛО УРАВНЕНИЙ M=KsBIM A<M,N),B<M) 40 for 1=1 ТО M:F0R J=1 TO N 50 PRINT! 2.0!ВВЕДИТЕ AI,J: IHPUT ft<bJ) 60 IF J=N THEH PRINTBBEAHTE BlUHPUT Ва> 70 NEXT JsNEXT I 80 FOR J=l TO NSFOR K=J TO HsLETS=8sF0R 1=1 TO M 90 LETS=S+Aa,J>»A<bK)sNEXT lsLETC<K)=SsHEXT К 100 LETC=0SFOR 1=1 TO M!LETC=C+A<b J>«B<:i>sNEXT I 118 FOR I=-J TO NtLETA<b-J>=C<I>sNEXT lsLETC(J)=CsHEXT J 120 LETACbi)=SQR:A<l»l))sFOR J=2 TO H 130 LETAi:b-J)=A:dlVA<lj.l>sNEXT .JsFOR 1=2 TO N 140 LETS=03FOR K=l TO I-lsLETS-S+ftCK,1)жА(К,I)sNEXT К 150 LETft<l»n=SQR(Aa,I>-S)!FOR J=I + 1 TO H 160 LETS=0!FOR K=l TO I-lsLETS=S+A<Kf ПжАСК, J)!HEXT К 178 LETA<bJ)=<A<J»I)-S>/A<bn!NEXT JsNEXT 1 180 LEfC<l>=Ca>jft<l,l)sFOR 1=2 TO H 190 LETS=0:FOR K=1 TO I-l!LETS=S+A<Kj>i>*C:K>!NEXT К 208 LETC<I>=:C<I>-S>/A<I,1)!NEXT I 210 LETC<N)=C<N)>:H,H)sFOR I=N-1 to 1 STEP -1 220 LETS=8sF0R K=l+1 TO NsLETS=S+A<bK)!(iC<K>sHEXT К 230 LETC<I>=<C<I>-S>-A<bnsNEXT I 248 PRINTРЕШЕНИЕ СИСТЕМЫsFOR 1=1 TO H 250 PRIHT!2.8!X!=!F1.9!C<I)5NEXT IsEHIi § П5.7. Приближенное вычисление нормального решения а=о,5 VM. системы линейных уравнений с вырожденной матрицей Для решения вычисляется параметр За неизвестные принимаются компоненты вектора Х„, получаемого решением системы следую-шего вида Система уравнений Сл = 0, где С - вырож- [(ЛЛ+«£)]• = денная матрица, приближенно решается, если предположить, что С,/ и d, заданы с некоторым методом квадратных корней (см. описание к про-/-приближениен. Тогда эту систему можно свести грамме П5.6). к решению системы /1А = В, так что 1С,-,-0</<0,ОП. Программа П5.7. 10 PRINTПРИБЛИЖЕННОЕ ВЫЧИСЛЕНИЕ НОРМАЛЬНОГО РЕШЕНИЯ СИСТЕМЫ 15 PRТНТЛИНЕЙНЫХ УРАВНЕНИЙ С ВЫРОЖДЕННОЙ МАТРИЦЕЙ МЕТОДОМ 20 PRINT КВАДРАТНЫХ КОРНЕЙsPRINT 25 INPUTЗАДАЙТЕ ПАРАМЕТР ПРИБЛИ!«ЕНИЯ Т=Т 30 1НРиТЗАДАйТЕ ЧИСЛО УРАВНЕНИЙ N=N!DIM A<N,H>/B<H>/C<N> 40 FOR 1=1 ТО HsFOR J=l ТОН 50 PR I NT! 2.0-ВВЕДИТЕ A1, Js INPUT A<bJ> 68 IF J=N THEN PRINTBBEAHTE BIs INPUT B<I> 70 NEXT JSHEXT I eo FOR J=l TO NSFOR K=J TO HsLETS=05FOR 1=1 TO N 90 LETS=S+A<I»J)!iiA<bK>sNEXT lsLETC<K)=S!NEXT K. 100 letc=0SFOR 1=1 TO NsLETC=C+A<I, J>i«B<l):NEXT I 110 FOR I=J TO NtLETA<bJ)«Ca>sNEXT l!LETC<J)=C!NEXT J 120 LETP=SGR<T!(eNV2!F0R 1=1 TO N 130 LETA<l*I>=A<bl)+P!NEXT lsLETA<bl>=SQR<ftai. 1)) 140 FOR J=2 TO NELETA<bJ)=ft<J,l>-A<bl)sNEXT J 150 FOR 1=2 TO N!LETS=0!FOR K=l TO I-l 160 LETS=S+A<K,I)!«A<KfI>ENEXT К 170 LETA<bn=SQR<A<bI)-S)s.FOR J=l + 1 TO N 180 LETS=0eFOR K=1 to I~l!LETS=S+A<K/DskAIK* J)sHEXT К 190 LETA<bJ)=<A<J,I>-S>-ACbI>sNEXT JshEXT I 200 LETC(l)=C<l)/A<bl)!FOR 1=2 TO N 210 LETS=08FOR K=l TO !-lsLETS=S+A<K,1>жС<К)5НЕХТ К 220 LETC<l>=<C<I)-S)-A<bl5tNEXT I 230 LETt;<N)=C<N)>A<Ni.N)!FOR I=N-1 TO 1 STEP -1 240 LETS=0!FOR K=I+1 TO N!LETS=S+A<I,K>«C:K)sNEXT К 250 LETC(I)=<C<r:i-S>/ft<bI>!NEXT I 260 PRINTPEWEHHE СИСТЕМЫsFOR 1=1 TO N 270 PRINT!2.0!Xr=!F1.9!C<I>sNEXT IsEND Пример. При n = N=3 и 1 = Т=\-\Ъ~ решения системы 2x1- Х2+ м2хз = 5 + 7 12, 3x1+ 2x2- 3x3=-24. Зх,+ дХ2--X3=-12-3V2 получаем в виде Х=0,9790!3. хг=-4,226840 и хз = 6,160861. При г=0 по этой программе можно решать обычные системы линейных уравнений. § П5.8. Решение системы нелинейных уравнений методом простых итераций Описание метода даио в § 4.4. Подпрограмма вычисления f, (х,) записывается в виде фрагмента основной программы в строках от -50 до 200 без оператора RETURN. Программа П5.8. лов разбиения периода N и число гармоник спектра. 2. Разделив период х Щ Т на N частей &t = T/N (берем 7"=]), находим ti=hti и x, = xo-bx„cos (2jii) при j=0. 1. 2, .... N. 3. Обращаясь к подпрограмме . вычисления передаточной характеристики у (х), находим значения у1=у (х,). 4. Считая изменения у, (t) иа каждом малом отрезке времени ht линейными, вычисляем постоянную составляющую реакции Ао - (y:-+yi) И коэффициенты At = sin Z V" =--2 sin (Z (21-1)),гдег= = nk/N и fe= 1, 2.....M. 5. Находим коэффициент 2 + Al+ ... +A гармоник Kv = m/Ai le PRINTРЕШЕНИЕ СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ 15 PRINT МЕТОДОМ ПРОСТЫХ ИТЕРАЦИЙ ге INPUTЗАДАЙТЕ число УРАВНЕНИЙ N=NsriIM X(;H)/F<N> £5 ХНРиТЗнДнйТЕ ПОГРЕШНОСТЬ РЕШЕНИЯ Е=Е 30 PRINTВВЕДИТЕ НАЧАЛЬНЫЕ ПРИЕЛИМЕНИЯ .35 FOR 1 = 1 ТО N:PRrNT!2.ei! Х1 = 40 INPUT Xa>sNEXT I 45 REMПОДПРОГРАММА ВЫЧИСЛЕНИЯ FC D=X<; Г >+FCI > 58 LETPa >=X<; 1 >+Xa >"2+Xi 2J"2-X(: 1 >-. 171875 68 LETF(:2=X<;г+X(;l>*Xk2>-Xfг>-.09375 200 LETS=0:FOR 1=1 TO H 218 IF ABS<Fa)-Xa>>>t THEH LETS=1 220 LETXaj=Fa>:HEXT I 230 IF S=l THEH 45 240 FOR 1=1 TO H:PRIHT!2.e!XI=!1.9!F<I> 250 NEXT Iг END Пример. В тексте программы (строки 50 и 60) задано решение системы уравнений . fi=xf-bx-x,+ 0,171875=0, i2=x,X2 -Х2-Ю,09375 = 0. Задав Л/ = 2, E = £=!•lO- х,а = 0,!7!875 и л;2о= 0,09375, получим X, =0,2491442164 и Х2 = = 0,124686572 (верны 3 знака после запятой). Время счета контрольного примера око.по 5 с. § П5.9. Вычисление спектра реакции нелинейной системы с аналитически заданной передаточной характеристикой на гармоническое воздействие Пусть реакция системы иа воздействие х (t) описывается иелииейной передаточной характеристикой у (х). Если X (t) - гармоническое воз-, действие вида X (t) =xo-f х„ cos at, то спектр реакции у (t) будет содержать только косннусоидальные члены вследствие четности функций X (О и у (t). Спектр у (t) вычисляется по следующему алгоритму (см. § 5.1). 1. Задаем постоянную составляющую хо и амплитуду х„ воздействия, число интерва- Выражения для Аа и At получаются в результате аналитического интегрирования (5.5) при кусочно-линейной аппроксимации у (t). Программа П5.9. Пример. Вычисление y = f (х) задается подпрограммой, записываемой со строки 240 и завершаемой операторами RETURN и END. В тексте программы П5.7 задана квадратичная зависимость у=х. При Л/ = 20, M = 5, хо= -1 и х„ = 1 получим: Ао=1,5; Л, = -1,98360468, /12 = = 0,4837056046; /1з=-2,3725-Ю""; /!,= = -2,171Ы0- = -2,99625-10-" и Кг- = 0,2438820645. Знак «минус» у At указывает на поворот фазы гармоники на угол я рад (или 180°). § П5.10. Регрессия для 16 видов парных зависимостей у{х) Если вид эмпирической зависимости у (х), приближающей парную зависимость, заданную совокупностью значений х, и у,, не известен заранее, желательно с помощью одной программы провести регрессию для ряда у (х). Приведенная ниже программа обеспечивает запоминание до 255 пар х, и у, и выполняет регрессию для одной или нескольких видов зависимостей у (х). Предусмотрена возможность выбора любых у (х) из 16 зависимостей, отмеченных в табл. 5.1. Порядок работы с программой следующий. 18 РКХЫТАНАШЗ СПЕКТРА РЕАКЦИИ ИЕПИИЕйНОй СИСТЕМЫ С ЗАЙАННОЙ 20 PRINTАНАПИТИЧЕСКИ ПЕРЕДАТОЧНОЙ ХАРАКТЕРИСТИКОЙ V<X) ПРИ 38 PRINT ГАРМОНИЧЕСКОМ ВОЗДЕЙСТВИИ Х<:т>=хе+ХМжСО5О.0жТ) 48 INPUTЗАДАЙТЕ ЧИСПО ИНТЕРВАЛОВ РАЗБИЕНИЯ ПЕРИОДА N=N8 58 INPUTУКАЖИТЕ ТРЕБУЕМОЕ ЧИСШ ГАРМОНИК М=Мг111М A<M>.-F<M) 68 INPUTЗАДАЙТЕ постояниуй состАЕШяввдук хе=хе ?е ШРиТЗАДАйТЕ АМПЛИТУДУ ВОЗДЕЙСТВИЯ ХМ=Х1 80 FOR К=6 ТО M!LETA<K)=8!HEXT К эе LETX=X0+X1!&OSUB 2402LETV0=VsFOR i=i TO n8 100 1,ЕТХ=Х0+х1жсо8;2ж#Р1ж1Н8>!бО£;ив 24esLETVl=V lie FOR K=i TO MsUETZ=#PIi«K/-N8!LETri=Z*<2*I-l) 128 LETC=;Yl--V0>*SIH<Z>/-i;2:*2;/He>!LETA<K)=AK>-C#.SIK<B>sHEXT К 138 LETAao=A<6) + ;V8+Vl>/-2.H9:LETV8=Vl!HEXT I 148 PRIHTCntKTP У<Т>=Ме+СУММЙ MK«COS<k>:iJl> 158 PRIHTПОСТОЯННАЯ СОСТАВЛЯКЩАЯ РЕАКЦИИ М0=Акв> 166 PRINTАМПЛИТУДЫ ГАРМОНИК РЕАКЦИИ 170 LETS=0!FOR К=1 ТО MsLETS=S+A(K>*ft<K> 188 PRINT!3.0! ftKIFl.5!=Й<К) 198 NEXT кг IF ft<l>=0 THEN £18 200 PRINTКОЭФФИЦИЕНТ ГАРМОНИК КГ=89К<8~А<г>"£>нВ5<на)> 210 бОТО 70 228 REMСО СТРОКИ 248 ЗАПИСЫВАЕТСЯ ПОДПРОГРАММА ВЫЧИСЛЕНИЯ Ч(х> 248 LETV=X*XsRETURN5ENB 1. Вводятся значения х,, у. и С, Постоянная С дится на основе линеаризующих преобразований, задается равной i, если ввод л:,- и yi будет сводящих нелинейную зависимость у (х) к линей-продолжен. При вводе последней пары х, и у, ной y=W-\-Vx с последующим преобразованием надо задать С = 0, что обеспечит автоматический VC к V в А к В. переход к исполнению последующей части про- 3. После проведения регрессии задается зиа- граммы. чение х и код (С=1, если будут вычисляться 2. Регрессия с заданной зависимостью у (х) значения у (х) по заданным х, и С=0, если проводится после указания кода к в виде в этом нет нужды). В последнем случае вычис-номера соответствующей зависимости. При зада- леиия повторяются с п. 2. НИИ fe = 0 на индикацию выводится перечень кодов Для выбора нужных преобразований и зави- и формул для соответствующЕК у {х). Резуль- симостей у [к) применяется оператор ON (а), татами регрессии являются ее параметры А л В обеспечивающий безусловный переход на строку {А - Ьв, В=Ь\, где Оо и Ь-,-обозначения этих с номером а, где а - арифметическое выра- параметров в табл. 5.1), а также коэффи- жеиие, зйачеиие которого задается кодом k циент парной корреляции R. Регрессия прово- Праграмта П5.10. 10 PRINTРЕГРЕССИЯ ДЛЯ РА-ЗЛИННЫХ ПАРНЫХ ЗАВИСИМОСТЕЙ V=F<X> 20 LETM=255!DIM X<M)»V<M> 30 PRIHTBBEaHTE X,V»C (C=l ПРИ ВВОДЕ, C=8 ПО ОКОНЧАНИИ ВВОДА) 40 LETjt=j+iaNPUT x<:j)ifV<j.>»csiF сое then зе 50 PRINTЗАДАЙТЕ КОД К НУКНОГС ВИДА РЕГРЕССИИ, К=0ЕСЛИ НУ!«НО 60 INPUT ВЫЗВАТЬ ТАБЛИЦУ КОДОВ И V=F<X> К=К 65 LETXi=0sLETX2=e!l.ETVl=0sLETV2=8sLETP==8!lF К=0 THEN 908 70 IF К==16 THEN INPUTBBEAHTE h-N 75 FOR 1=1 TO J!LETX=X<I)3LETY=Va>3ON<:200+10!iiK> 80 LETA=W!LETB=UsON<500+10*K> 90 PRINT.Fl.S!ПАРАМЕТРЫ A=A B=B 95 PRINTКОЭФФИЦИЕНТ КОРРЕЛЯЦИИ R=R 100 INPUTBBEUHTE XfC<C=l ИЛИ 0 ПРИ ОКОНЧАНИИ) X,C 110 IF C=0 THEN 50 120 ОЫ<700+10жК> 130 PRINTiFi.9!ЗНАЧЕНИЕ Y(X>=Ve60T0 100 200 REMfiHV«APH3HpyKilliHE ПРЕОБРАЗОВАНИЯ 210 60T0 480 220 LETV=1-V!60T0 460 238 LETX=l/X!eOTO 400 240 LETV=X-V!GOTO 400 258 LETV=L6T<V>!60T0 406 260 LETV=L06«:V)s60TO 400 270 LETV=L6T<V)iG0T0 400 280 LETX=EKP<-K>5LETV=1.V!G0T0 408 290 LETX=L6T<X)SLETV=I.GT<:V)!60T0 488 300 LETX=L6T<K)!60T0 400 310 LETX=L06<X)!60T0 488 320 LETyslz-ysBOTO 488 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.0503 |
|