加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.1 單個正弦波
    • 1.2 多個正弦波
    • 1.3 正弦波變成隨機(jī)數(shù)字
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

都是正弦波,三維不同

2022/02/11
1606
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

在推文為什么 sin(x2)+sin(y2)=1 的圖象這么復(fù)雜? 給出不同維度下的正弦波。看到最后心里有點接受不了。

01 一維正弦波

把周期震蕩的正弦波當(dāng)做組成任何信號的基礎(chǔ)是傅里葉分析的核心內(nèi)容,這一點實際上并不非常直觀。相關(guān)的理論直到十九世紀(jì)初期(1807年)才被法國數(shù)學(xué)家 Fourier 正式提出,并經(jīng)歷了大約一個世紀(jì)相關(guān)數(shù)學(xué)基礎(chǔ)在逐步完善起來。

1.1 單個正弦波

下圖是  在不同相位 對應(yīng)的函數(shù)波形。

▲ 圖1.1  正弦波圖像

 

1.2 多個正弦波

下面顯示多個正弦波疊化后的圖像。函數(shù)具有八個正弦波疊加而成,它們的幅值與頻率成反比。

▲ 圖1.2  具有多個諧波周期波形圖像

 

下面將所有的頻率分量的幅度修改成一致。

下面顯示了波形形狀,大家也需注意到這個波形似乎隨著相位補(bǔ)賽,波形在變化。

▲ 圖1.4  正弦波圖像

這實際上是個錯覺。上面的波形是成將原來信號采集了512個點進(jìn)行顯示,由于采集頻率過低使得采集到的的序列波形不能夠很好的反映出原來信號幅度。下面是采集兩10000個點進(jìn)行顯示,可以看到波形非常穩(wěn)定。

▲ 圖1.2.3  多個正弦波疊加

 

1.3 正弦波變成隨機(jī)數(shù)字

雖然整體上,正弦波是周期可預(yù)測的,但從局部來看,數(shù)字的小數(shù)部分則呈現(xiàn)隨機(jī)特性。

    sint = (sin(tt)*1000000.0) % 1.0

將 乘以   取小數(shù)部分,繪制波形可以看到這幾乎就是一個隨機(jī)小數(shù)。

▲ 圖1.3.1  數(shù)字小數(shù)部分取值

下面是某些程序用于產(chǎn)生隨機(jī)數(shù)的公式。至于其中為什么出現(xiàn) 12.9898 和 43758.5453123 這兩個參數(shù),也許大神的思維不是我們凡人能夠理解的。

t = linspace(0, 20, 10000)

for id,phase in tqdm(enumerate(linspace(0, 2*pi, 10))):

    tt = t + phase
    sint = (sin(tt)*1000000.0) % 1.0

    plt.clf()
    plt.figure(figsize=(10,6))
    plt.plot(t, sint)
    plt.xlabel('t')
    plt.ylabel('sin(t)')
    plt.axis([0, 20, -.2, 1.2])
    plt.grid(True)
    plt.tight_layout()
    savefile = os.path.join(gifpath, '%03d.jpg'%id)
    plt.savefig(savefile)
    plt.close()

02 二維正弦波

將 擴(kuò)展到以下幾個函數(shù):

▲ 二維函數(shù)波形

▲ 二維函數(shù)波形

 

▲ 二維函數(shù)波形

 

▲ 二維函數(shù)波形$$zleft( {x,y} right) = sin left( {x2  + y2 } right) $$

 

▲ 二維函數(shù)波形$$zleft( {x,y} right) = sin left( {x2 } right) + sin left( {y2 } right) $$

 

▲ 圖2.6 二維函數(shù)圖像

 

from headm import *                 # =
from mpl_toolkits.mplot3d import Axes3D

ax = Axes3D(plt.figure(figsize=(12,8)))

x = linspace(-5,5, 50)
y = linspace(-5,5, 50)
xx,yy = meshgrid(x,y)
z = sin(xx * yy)
ax.plot_surface(xx,yy,z,
                rstride=1,
                cstride=1,
                cmap=plt.cm.Blues)
ax.contourf(xx,yy,z,
            zdir='z',
            offset=-1,
            cmap=plt.cm.BuGn)

plt.savefig('/home/aistudio/stdout.jpg')
plt.show()

03 三維正弦波

剩下一個問題,對于三維正弦波該如何繪制呢?

對于這個問題我現(xiàn)在還不知道,下面是

  • 知乎上的原始鏈接[1] : https://www.zhihu.com/question/325445882/answer/692389802

給出的體素繪制圖片,搬運(yùn)到這兒一起欣賞一下。

▲ 圖3.1 三維函數(shù)圖像

 

▲ 圖3.2 三維函數(shù)圖像

 

▲ 圖3.3 三維函數(shù)等高面

 

▲ 圖3.4 三維函數(shù)等高面

 

▲ 圖3.5 三維函數(shù)等高面

 

▲ 圖3.6 三維函數(shù)

 

▲ 圖3.7 三維函數(shù)

 

▲ 圖3.8 三維函數(shù)

 

▲ 圖3.9 三維函數(shù)

 

▲ 圖3.10 三維函數(shù)

 

▲ 圖3.11 三維函數(shù)

 

參考資料

[1]知乎上的原始鏈接: https://www.zhihu.com/question/325445882/answer/692389802

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號TsinghuaJoking主筆。清華大學(xué)自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學(xué)生智能汽車競賽秘書處主任,技術(shù)組組長,網(wǎng)稱“卓大大”。