Âèçóàëèçàöèÿ ðåøåíèé ëîãèñòè÷åñêîãî óðàâíåíèÿ, ìíîæåñòâ Ìàíäåëüáðîòà è Æþëèà â Excel è Visual Basic Ìèëëåð Äåéâ Áðèäæåñ ...
8 downloads
225 Views
613KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Âèçóàëèçàöèÿ ðåøåíèé ëîãèñòè÷åñêîãî óðàâíåíèÿ, ìíîæåñòâ Ìàíäåëüáðîòà è Æþëèà â Excel è Visual Basic Ìèëëåð Äåéâ Áðèäæåñ Ðè÷àðä
ÂÈÇÓÀËÈÇÀÖÈß ÐÅØÅÍÈÉ ËÎÃÈÑÒÈ×ÅÑÊÎÃÎ ÓÐÀÂÍÅÍÈß, ÌÍÎÆÅÑÒ ÌÀÍÄÅËÜÁÐÎÒÀ È ÆÞËÈÀ  EXCEL È VISUAL BASIC  íàñòîÿùåé ñòàòüå ðàññìàòðèâàþòñÿ ñïîñîáû èçîáðàæåíèÿ ìíîæåñòâ ñ ïîìîùüþ ðàçëè÷íûõ ïðîãðàììíûõ ñðåäñòâ. Ñíà÷àëà ìû èçó÷àåì ëîãèñòè÷åñêîå óðàâíåíèå, èñïîëüçóÿ ñîâðåìåííûå ñðåäñòâà óïðàâëåíèÿ ðàáî÷èì ëèñòîì (Excel worksheet) «äâèæêè» è ìàêðîñû, óïðàâëÿåìûå êíîïêàìè. Çàòåì òå æå ñðåäñòâà ïðèìåíÿþòñÿ ê ìíîæåñòâàì Ìàíäåëüáðîòà è â çàêëþ÷åíèå ðàññìàòðèâàþòñÿ îáðàçû ìíîæåñòâ Ìàíäåëüáðîòà è Æþëèà, ïîëó÷åííûå ñ âûñîêèì ðàçðåøåíèåì áëàãîäàðÿ èñïîëüçîâàíèþ ìåíåå èçâåñòíûõ, íî ãîðàçäî áîëåå ýôôåêòèâíûõ àëãîðèòìîâ. ËÎÃÈÑÒÈ×ÅÑÊÎÅ ÓÐÀÂÍÅÍÈÅ
 1976 ãîäó Ð. Ìýé [1] íàñòîÿòåëüíî ðåêîìåíäîâàë, ÷òîáû çíàêîìñòâî ñ ëîãèñòè÷åñêèì óðàâíåíèåì ïðîèñõîäèëî íà ðàííåé ñòàäèè ìàòåìàòè÷åñêîãî îáðàçîâàíèÿ. Ïðàâäà òîãäà òîëüêî êàëüêóëÿòîðû áûëè äîñòóïíû øèðîêîé ïóáëèêå. Òåïåðü æå, èìåÿ èçîùðåííûå ïðîãðàììíûå ñðåäñòâà, ìû ìîæåì èññëåäîâàòü ýòî óðàâíåíèå. Ëîãèñòè÷åñêîå óðàâíåíèå (1), íàçâàííîå òàê Verhulstîì â 40-õ ãîäàõ 19-ãî âåêà [3] ïðåäñòàâëÿåò ñîáîé ìîäåëü èçìåíåíèÿ ÷èñëåííîñòè ïîïóëÿöèè, ãäå pn îòíîñèòåëüíàÿ âåëè÷èíà ïîïóëÿöèè pn = Pn/N, à Pn àáñîëþòíàÿ âåëè÷èíà 1 Iterations 0 to 500
0.8
0.6
0.4
0.2
0
Äèàãðàììà 1. Õàîòè÷åñêîå ïîâåäåíèå ïðè À = 3.701.
ïîïóëÿöèè ê ìîìåíòó n è N ìàêñèìàëüíàÿ ïîïóëÿöèÿ. Ð. Ìýé èñïîëüçîâàë ýêâèâàëåíòíóþ ìîäåëü (2), ãäå À êîíñòàíòà. (1) p n +1 = p n + r ⋅ p n ( 1 − p n ) (2) x n +1 = A ⋅ x n ( 1 − x n ) Ñóùåñòâóåò îáøèðíàÿ ëèòåðàòóðà, ïîñâÿùåííàÿ ïîâåäåíèþ ýòîé ìîäåëè (Peitgen et al, 1992). Ìû ïðåäëàãàåì çäåñü òðè ìåòîäà, èñïîëüçóþùèõ ðàáî÷èé ëèñò Excelà. Çàèíòåðåñîâàâøèåñÿ ìîãóò èñïîëüçîâàòü ýòè ìåòîäû äëÿ ñàìîñòîÿòåëüíîãî èçó÷åíèÿ ìîäåëè. ÌÎÄÅËÈÐÎÂÀÍÈÅ Â EXCEL
Ïðè îòêðûòèè ðàáî÷åãî ëèñòà Excelà ñ èìåíåì logisticterms (Miller, 2001) ïîäñ÷èòûâàþò1 Iterations 0 to 500 ñÿ 500 èòåðàöèé óðàâíåíèÿ (2) è äåìîíñòðèðóåòñÿ ãðà0.8 ôèê çàâèñèìîñòè ìåæäó xn è n. Çíà÷åíèå ïàðàìåòðà À 0.6 ñâÿçàíî ñ äâèæêîì è ìîæåò ìåíÿòüñÿ îò 0 äî 4 ñ øàãîì 0.001. Äðóãîé äâè0.4 æîê ñâÿçàí ñ íà÷àëüíûì çíà÷åíèåì õ0, êîòîðîå ìå0.2 íÿåòñÿ îò 0 äî 1 ñ øàãîì 0.001. Êíîïêà, ñâÿçàííàÿ ñ ìàêðîñîì, ïîçâîëÿåò 0 ïîëüçîâàòåëþ óâèäåòü áîëüÄèàãðàììà 2. Öèêë ñ ïåðè- øå èòåðàöèé, ñãðóïïèðîâàííûõ ïî 500, è òåì ñàîäîì 7 ïðè À = 3.702.
ÌÓÇÅÉ ÇÀÍÈÌÀÒÅËÜÍÎÉ ÍÀÓÊÈ
61
Ìèëëåð Ä., Áðèäæåñ Ð. ìûì óâèäåòü, ñòàáèëèçèðóþòñÿ ëè èòåðàöèè ïðè áîëüøèõ çíà÷åíèÿõ n. Òàêèì îáðàçîì ìîæíî èçó÷àòü ïîâåäåíèå ìîäåëè ïðè ðàçíûõ çíà÷åíèÿõ À è õ0. Äèàãðàììû 1 è 2 ïîêàçûâàþò ýôôåêò èçìåíåíèÿ À îò 3.701 äî 3.702 (õ0 = 0.5) Ðàáî÷èé ëèñò Excelà ñ èìåíåì logisticcobweb (Miller, 2001) ïðåäñòàâëÿ- Äèàãðàììà 3. Õàîòè÷åñêîå Äèàãðàììà 4. Öèêë ñ ïåðèåò òå æå ðåçóëüòàòû â äðó- ïîâåäåíèå ïðè À = 3.701. îäîì 7 ïðè À = 3.702. ãîé ôîðìå â ôîðìå ïàóìó ÷èñëó èëè ê ïðåäåëüíîìó öèêëó, ñîñòîÿòèíîîáðàçíîé äèàãðàììû. Çäåñü ñòðîÿòñÿ ùåìó èç êîíå÷íîãî ÷èñëà òî÷åê. ãðàôèêè y = Ax(1x) è y = x, à òàêæå îòÌíîæåñòâî Ìàíäåëüáðîòà ýòî ìíîìå÷àþòñÿ è îáúåäèíÿþòñÿ òî÷êè (xn, xn+1), æåñòâî òåõ çíà÷åíèé ñ, äëÿ êîòîðûõ ïðè (xn+1, xn+1), n = 0,1,2,... Ýòî ïðèäàåò äèàãz0 = 0 ïîñëåäîâàòåëüíîñòü zn íå ñòðåìèòñÿ ðàììå âèä ïàóòèíû. ê áåñêîíå÷íîñòè. Èñïîëüçóÿ âîçìîæíîñÐàáî÷èé ëèñò Excelà ñ èìåíåì òè Excelà, ìîæíî èçîáðàçèòü ëþáóþ ÷àñòü logisticconsecutive (Miller, 2001) äåìîíñòìíîæåñòâà Ìàíäåëüáðîòà. Íà äèàãðàììå ðèðóåò òðåòèé ñïîñîá ïðåäñòàâëåíèÿ ðå7 ïîêàçàí ðàáî÷èé ëèñò «êâàäðàò», ñîñòîçóëüòàòîâ. Òå æå ðåçóëüòàòû ïîêàçàíû íà ÿùèé èç 441 êâàäðàòíîé ÿ÷åéêè, ãäå êàæäèàãðàììàõ 5 è 6. äûé êâàäðàò ïðåäñòàâëÿåò òî÷êó êîìïëåêñíîé ïëîñêîñòè. Èñõîäíàÿ îáëàñòü âêëþÌÍÎÆÅÑÒÂÎ ÌÀÍÄÅËÜÁÐÎÒÀ ÷àåò ìíîæåñòâî Ìàíäåëüáðîòà, ãäå zr èçÌíîæåñòâî Ìàíäåëüáðîòà áûëî îòìåíÿåòñÿ îò 1.5 äî 0.5, à zi îò 1 äî 1. êðûòî òîëüêî â 1982 è ñ òåõ ïîð èçîáðàÆåëòûé (ñâåòëî-ñåðûé) êâàäðàò ïðåäñòàâæåíèÿ ñàìîãî ìíîæåñòâà, åãî ÷àñòåé è ëÿåò ÷èñëî 0.1+0.9i, ÷åðíûé 0+0i, à ñâÿçàííîãî ñ íèì ìíîæåñòâà Æþëèà ñòàêðàñíûé (òåìíî-ñåðûé) 0.5+i. ëè âåñüìà ïîïóëÿðíû. Ïðèìåíèì èòåðàöèè, ïîëîæèâ Ìíîæåñòâî Ìàíäåëüáðîòà îïðåäåëÿñ = 0.5+i. Òàáëèöà 1 ïîêàçûâàåò, ÷òî ìîäóëü åòñÿ ñ ïîìîùüþ ôóíêöèè f(z,c) = z2 + c, z ïðåâîñõîäèò 5000 ïîñëå 6 èòåðàöèé. ãäå z è ñ êîìïëåêñíûå ÷èñëà. Íà ðàáî÷åì ëèñòå ïîäñ÷èòûâàþòñÿ Åñëè z = zr+izi è ñ = ñr+iñi, òî 2 2 50 èòåðàöèé äëÿ êàæäîé òî÷êè èç çàäàí(3) f ( z , c ) = ( z r − z i + c r ) + i ( 2 z r z i + ci ) íîãî äèàïàçîíà è îïðåäåëÿåòñÿ ÷èñëî èòåÏîñëåäîâàòåëüíîñòü (îðáèòà) çíà÷åíèé z ïîëó÷àåòñÿ ïîñðåäñòâîì èòåðàöèé z1 = f(z0, c), z2 = f(z1, c), ..., zn = f(zn-1, c), ... Î÷åâèäíî, îðáèòà çàâèñèò îò íà÷àëüíîãî çíà÷åíèÿ z0 è îò çíà÷åíèÿ êîíñòàíòû ñ. Ïðè ýòîì îáíàðóæèâàþòñÿ äâà ÿâëåíèÿ. Ëèáî zn ñòðåìèòñÿ ê áåñêîíå÷íîñòè (îáû÷íî ñ áîëüøîé ñêîðîñòüþ), ëèáî Äèàãðàììà 5 Äèàãðàììà 6 ñòðåìèòñÿ ê ôèêñèðîâàííî1
Iterations 0 to 500
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0
0.2
0.4
0.6
0.8
0
1
Iterations 0 to 500
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.2
0.4
0.6
0.8
1
Iterations 0 to 500
1
0
0
0
62
Iterations 0 to 500
0.2
0.4
0.6
0.8
1
0
0.2
0.4
0.6
0.8
1
© ÊÎÌÏÜÞÒÅÐÍÛÅ ÈÍÑÒÐÓÌÅÍÒÛ Â ÎÁÐÀÇÎÂÀÍÈÈ. ¹ 5, 2001 ã.
Âèçóàëèçàöèÿ ðåøåíèé ëîãèñòè÷åñêîãî óðàâíåíèÿ, ìíîæåñòâ Ìàíäåëüáðîòà è Æþëèà â Excel è Visual Basic ¹ zr zi èòåðàöèè 0 0 0 1 0.5 1 2 0.25 2 3 3.44 0 4 12.32 1 5 151.19 25.63 6 22203.04 7752.05
z 0 1.12 2.02 3.44 12.36 153.35 23517.43
Òàáëèöà 1 ðàöèé, ïðè êîòîðîì ìîäóëü z ïðåâçîéäåò çàäàííîå ÷èñëî (çäåñü 5000). Ïðåäïîëàãàåòñÿ, ÷òî åñëè ýòî íå ïðîèçîéäåò çà 50 èòåðàöèé, òî íå ïðîèçîéäåò è ïðè áîëüøåì ÷èñëå èòåðàöèé. ×èñëà 50 è 5000 âûáðàíû ïðîèçâîëüíî. Ðåçóëüòàòû ðàñ÷åòîâ ñ ýòèìè ïàðàìåòðàìè ïðèâåäåíû íà äèàãðàììå 8. Äëÿ ðàñêðàñêè äèàãðàììû 8 èñïîëüçîâàíû 4 öâåòà (â ñòàòüå îòòåíêè ñåðîãî). Òî÷êè ìíîæåñòâà Ìàíäåëüáðîòà îêðàøåíû ÷åðíûì öâåòîì. Òî÷êè, äëÿ êîòîðûõ ðàñõîäèìîñòü (zn>5000) îáíàðóæèâàåòñÿ ïðè n