在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 程序與音樂的美妙結(jié)合:讓我們一起聆聽混沌之音

            程序與音樂的美妙結(jié)合:讓我們一起聆聽混沌之音

            作者: 時(shí)間:2017-10-21 來源:網(wǎng)絡(luò) 收藏

              本世紀(jì)70年代初,美國普林斯頓大學(xué)的生態(tài)學(xué)家R·May在研究昆蟲群體繁殖規(guī)律時(shí)提出一個(gè)著名的模型: χ[n+1]=k*χ[n]*(1-χ[n])其中χ[n]表示第n代群體的數(shù)目。當(dāng)給定一個(gè)初始的χ[0]值,然后不停地迭代,人們發(fā)現(xiàn)隨著k值的不同,得到的序列χn有許多有趣的現(xiàn)象。當(dāng)k值介于0與1之間時(shí),χ[n]經(jīng)過一定次數(shù)的迭代后都趨于0。當(dāng)k值介于1和3之間時(shí)趨于1/k,當(dāng)k值大于3時(shí),經(jīng)過一定次數(shù)的迭代后χ[n]在2個(gè)值之間交替變化,k值增加到3.449附近時(shí),交替變化值又變?yōu)?個(gè)。繼續(xù)增加k值,χ[n]交替變化的值的個(gè)數(shù)依4→8→16→32的次序迅速加倍,終于一片混沌。但當(dāng)k值在3.835附近時(shí),經(jīng)過一定次數(shù)的迭代后,χ[n]非常簡單地在3個(gè)值之間交替變化,接著又迅速依3→6→12的次序迅速增長。如此反復(fù),在簡單的方程中隱藏著令人驚奇的復(fù)雜性。

            本文引用地址:http://www.biyoush.com/article/201710/367011.htm

              為了體現(xiàn)這種復(fù)雜之中的無窮奧妙,下面這個(gè)用TC2.0編寫的小程序用χ[n]大小來控制PC喇叭的發(fā)音頻率,設(shè)定不同的k值,我們就可以聆聽到混沌的聲音。執(zhí)行下面的小程序時(shí),k值就相當(dāng)于一個(gè)“調(diào)音旋鈕”。當(dāng)將k值設(shè)定在1與3之間時(shí),喇叭里傳出的只有一個(gè)音調(diào),重復(fù)又煩人。當(dāng)k值稍稍大于3時(shí),便開始有了韻律:so-mi-so-mi…。k值增加到3.449時(shí),變成了so-fa-la-mi-so-fa-la-mi…,再增加k值,韻律更加復(fù)雜,終于成了現(xiàn)代抽象派作曲家的音樂作品。但是韻律并不是隨著k值的增加無限地復(fù)雜下去。在k值增加到3.835時(shí),音調(diào)又變成了mi-so-ti-mi-so-ti…,再增加k值又迅速地變得更加復(fù)雜。不停地改變k值,仔細(xì)聆聽,會(huì)聽到混沌中的無限奧妙。

              #include dos.h>

              #include stdio.h>

              #include conio.h>

              main()

              {

              int fMin=20,fMax=16000; /*fMin代表最低頻率,fMax代表最高頻率*/

              int fDis,i; /*fDis代表最高頻率和最低頻率之間的差值,i用于循環(huán)記數(shù)*/

              float x=0.1,k; /*x代表x[n]的大小,設(shè)定其初始值為0.1,即x[0]=0.1*/

              char ch;

              fDis=fMax-fMin;

              clrscr();

              while(1)

              {

              printf(“Please input The value of k(1-4.0) ”); /*輸入k值*/

              printf(“If you want to quit,Please input:0 ”); /*如果k=0退出*/

              scanf(“%f”,k);

              if (k==0)

              {

              break;

              }

              else if((k1)||(k>4.0))

              {

              printf(“The number must be: 1k4 ”);

              continue;//輸入有誤,繼續(xù)輸入。

              }

              for(i=1;i100;i++) /*去掉開始的100個(gè)點(diǎn)*/

              {

              x=k*x*(1-x);

              }

              for (i=1;i100;i++)

              {

              x=k*x*(1-x); /*計(jì)算x的值*/

              sound(x*fDis+20); /*用x的值控制PC喇叭的發(fā)音頻率*/

              delay(1000);

              if (kbhit())//kbhit()檢測(cè)是否有按鍵事件,如果沒有按鍵,則返回0;

              {

              ch=getch();//讀取按鍵值

              switch(ch)

              {

              case 27:

              nosound();//關(guān)閉聲音

              return(0);//ESC退出

              }

              break;

              }

              }

              nosound();//關(guān)閉聲音

              clrscr();//清屏

              }

              nosound();

              return(0);

              }



            關(guān)鍵詞: 蜂鳴器 編程語言

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉