音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

一篇挺有意思的文章《聆聽混沌的聲音》(轉)

作者:mohanwei 欄目:技術交流
一篇挺有意思的文章《聆聽混沌的聲音》(轉)
今天整理硬盤,看到一篇挺有意思的文章《聆聽混沌的聲音》,忍不住做了一個
實驗,實驗結果和作者描述的差不多,呵呵。

以下是原文以及源程序,后面還有一個壓縮包,內有源程序和可執(zhí)行文件。如果
讀者手頭沒有編譯器,直接運行里面的程序就可以了(你得保證你的機器里有
一個峰鳴器)。


/**********************************************************************
聆聽混沌的聲音

本世紀70年代初,美國普林斯頓大學的生態(tài)學家R·May在研究昆蟲群體繁殖規(guī)律時提出
一個著名的模型: χ[n+1]=k*χ[n]*(1-χ[n])其中χ[n]表示第n代群體的數(shù)目。
當給定一個初始的χ[0]值,然后不停地迭代,人們發(fā)現(xiàn)隨著k值的不同,得到的序列χn
有許多有趣的現(xiàn)象。當k值介于0與1之間時,χ[n]經(jīng)過一定次數(shù)的迭代后都趨于0。
當k值介于1和3之間時趨于1/k,當k值大于3時,經(jīng)過一定次數(shù)的迭代后χ[n]在2個值
之間交替變化,k值增加到3.449附近時,交替變化值又變?yōu)?個。繼續(xù)增加k值,χ[n]
交替變化的值的個數(shù)依4→8→16→32的次序迅速加倍,終于一片混沌。但當k值在3.835
附近時,經(jīng)過一定次數(shù)的迭代后,χ[n]非常簡單地在3個值之間交替變化,接著又迅速
依3→6→12的次序迅速增長。如此反復,在簡單的方程中隱藏著令人驚奇的復雜性。
χ[n]隨k的變化情況如下圖所示:
為了體現(xiàn)這種復雜之中的無窮奧妙,下面這個用TC2.0編寫的小程序用χ[n]大小來控制
PC喇叭的發(fā)音頻率,設定不同的k值,我們就可以聆聽到混沌的聲音。

執(zhí)行下面的小程序時,k值就相當于一個“調音旋鈕”。當將k值設定在1與3之間時,
喇叭里傳出的只有一個音調,重復又煩人。當k值稍稍大于3時,便開始有了韻律:
so-mi-so-mi…。k值增加到3.449時,變成了so-fa-la-mi-so-fa-la-mi…,
再增加k值,韻律更加復雜,終于成了現(xiàn)代抽象派作曲家的音樂作品。但是韻律并不是
隨著k值的增加無限地復雜下去。在k值增加到3.835時,音調又變成了
mi-so-ti-mi-so-ti…,再增加k值又迅速地變得更加復雜。
不停地改變k值,仔細聆聽,會聽到混沌中的無限奧妙。(甘肅梁昌霖)
**********************************************************************/

/**********************************************************************
程序名稱:聆聽混沌的聲音
平    臺:TC++ 3.0
作    者:AMO
Email   :amo73@126.com
日    期:2007-1-27
備    注:這是一個很有趣的小程序。
          參考“梁昌霖”(先生/女士?)發(fā)表的程序,做了很多改進。
          AMO不打算擁有程序版權,歡迎大家自由傳播^_^
**********************************************************************/
#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]的大小,設定其初始值為0.1,即x[0]=0.1*/
    CHAR ch;
    fDis=fMax-fMin;
    clrscr();
    while(1)
    {
        printf("Please input The VALUE of k(1-4.0)\n"); /*輸入k值*/
        printf("If you want to quit,Please input:0\n"); /*如果k=0退出*/
        scanf("%f",&k);
        if (k==0)
        {
            break;
        }
        else if((k<1)||(k>4.0))
        {
            printf("The NUMBER must be: 1<k<4\n\n");
            continue;//輸入有誤,繼續(xù)輸入。
        }
        for(i=1;i<100;i++) /*去掉開始的100個點*/
        {
            x=k*x*(1-x);
        }
        for (i=1;i<100;i++)
        {
            x=k*x*(1-x); /*計算x的值*/
            sound(x*fDis+20); /*用x的值控制PC喇叭的發(fā)音頻率*/
            delay(1000);
            if (kbhit())//kbhit()檢測是否有按鍵事件,如果沒有按鍵,則返回0;
            {
                ch=getch();//讀取按鍵值
                SWITCH(ch)
                {
                    case 27:    
                        nosound();//關閉聲音
                        return(0);//ESC退出
                }
                break;
            }
        }
        nosound();//關閉聲音
        clrscr();//清屏
    }
    nosound();
    return(0);
}


以下是程序:

http://pdf.18ic.com/upload/2007-1/28/2007128193243.zip

http://pdf.18ic.com/upload/2007-1/28/2007128193243.zip

2樓: >>參與討論
bsbjx
混沌???
O擔心人也跟著混沌了.

3樓: >>參與討論
chunyang
呵呵,哪天試試
 
參與討論
昵稱:
討論內容:
 
 
相關帖子
尋古董黑白電視電路圖,,謝謝
緊急求助:圓盤的轉動慣量計算公式是什么?
麻煩哪位給解釋一下穩(wěn)壓二極管參數(shù)的含義
那位大俠推薦一個信號發(fā)生器地芯片
0-1V的信號怎么能變成-0.5-+0.5V的信號?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號