亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

六行python代碼的愛(ài)心曲線詳解

系統(tǒng) 1977 0

前些日子在做績(jī)效體系的時(shí)候,遇到了一件?迨攏?居然忘記怎樣在Excel上擬合正態(tài)分布了,盡管在第二天重新拾起了Excel中那幾個(gè)常見(jiàn)的函數(shù)和圖像的做法,還是十分的慚愧。實(shí)際上,當(dāng)時(shí)有效偏頗了,忽略了問(wèn)題的本質(zhì),解決數(shù)據(jù)分析和可視化問(wèn)題,其實(shí)也是Python的拿手好戲。

例如,畫(huà)出指定區(qū)間的一個(gè)多項(xiàng)式函數(shù):

六行python代碼的愛(ài)心曲線詳解_第1張圖片

Python 代碼如下:

            
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(-4, 4, 1024)
Y = .25 * (X + 4.) * (X + 1.) * (X - 2.)
plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$')
plt.plot(X, Y, c = 'g')
plt.show()

          

通過(guò)numpy的linspace方法來(lái)確定橫坐標(biāo)x的取值范圍,列出方程,然后調(diào)用matplotlib的pyplot畫(huà)出函數(shù)曲線即可。numpy 是一個(gè)用python實(shí)現(xiàn)的科學(xué)計(jì)算包,包括一個(gè)強(qiáng)大的N維數(shù)組對(duì)象Array和成熟的函數(shù)庫(kù),有用于整合C/C++和Fortran代碼的工具包,提供了實(shí)用的線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)等工具,可以理解成Matlab。

記得中學(xué)的時(shí)候,我問(wèn)老師三角函數(shù)到底有啥用?(無(wú)知者無(wú)畏)老師反問(wèn)我,“如果給了你一塊洋鐵,怎樣才能剪出煤爐煙囪的拐彎呢?”,現(xiàn)在仍然記得老師的這個(gè)例子,哪些看似抽象的數(shù)學(xué)公式,實(shí)際上是自己不知道她們的應(yīng)用場(chǎng)景而已。?

六行python代碼的愛(ài)心曲線詳解_第2張圖片

Python代碼如下:

            
import numpy as np
import matplotlib.pyplot as plt
X = np.linspace(0, 2 * np.pi, 100)
YSinValues = np.sin(X)
YCosValues = np.cos(X)
plt.plot(X, YSinValues)
plt.plot(X, YCosValues)
plt.show()

          

Matplotlib 是一個(gè) Python 的 2D繪圖庫(kù),甚至可以生成出版質(zhì)量級(jí)別的圖形。

對(duì)于那些正態(tài)分布而言,Python 畫(huà)起來(lái)也就相當(dāng)簡(jiǎn)單了:

            
import numpy as np
import matplotlib.pyplot as plt
def pdf(X, mu, sigma):
 ? ?a = 1. / (sigma * np.sqrt(2. * np.pi))
 ? ?b = -1. / (2. * sigma ** 2)
 ? ?return a * np.exp(b * (X - mu) ** 2)
X = np.linspace(-6, 6, 1000)
for i in range(3):
 ? ?samples = np.random.standard_normal(10)
 ? ?mu, sigma = np.mean(samples), np.std(samples)
 ? ?plt.plot(X, pdf(X, mu, sigma), color = '.66')
plt.plot(X, pdf(X, 0., 1.), color = 'b')
plt.show()

          

為了不顯得單調(diào),這里多畫(huà)了幾條曲線。只要算出方差和均值,從excel中讀出哪些數(shù)值就可以擬合正態(tài)分布了。

六行python代碼的愛(ài)心曲線詳解_第3張圖片

回歸到主題,關(guān)于愛(ài)心線,有這樣一個(gè)凄美的愛(ài)情故事。

邇來(lái)流浪于吳越,一片閑云空皎潔。

300多年前,斯德哥爾摩的街頭,落魄的笛卡爾過(guò)著乞討的生活,全部的財(cái)產(chǎn)破破爛爛的衣服和隨身所帶的幾本數(shù)學(xué)書(shū)籍。清高的笛卡爾沒(méi)有開(kāi)口請(qǐng)求路人施舍,只是默默地低頭在紙上寫(xiě)寫(xiě)畫(huà)畫(huà),潛心于他的數(shù)學(xué)世界。 一個(gè)寧?kù)o的午后,笛卡爾照例坐在街頭的陽(yáng)光中研究數(shù)學(xué)問(wèn)題,身邊過(guò)往的人群,喧鬧的車(chē)馬隊(duì)伍,都無(wú)法對(duì)他造成干擾。

有美一人,婉如清揚(yáng)。邂逅相遇,與子偕臧。?

“你在干什么呢?”扭過(guò)頭,笛卡爾看到一張年輕秀麗的瞼龐,一雙清澈的眼睛如湛藍(lán)的湖水,楚楚動(dòng)人,她就是瑞典的小公主,國(guó)王最寵愛(ài)的女兒克里斯汀。 她蹲下身,拿過(guò)笛卡爾的數(shù)學(xué)書(shū)和草稿紙,和他交談起來(lái)。言談中,他發(fā)現(xiàn),這個(gè)小女孩思維敏捷,對(duì)數(shù)學(xué)有著濃厚的興趣。?

幾天后,笛卡爾意外地接到通知,國(guó)王聘請(qǐng)他做小公主的數(shù)學(xué)老師。滿心疑惑的笛卡爾跟隨侍衛(wèi)一起來(lái)到皇宮,他聽(tīng)到了從遠(yuǎn)處傳來(lái)的銀鈴般的笑聲。他看到了那天在街頭偶遇的女孩子,從此,他當(dāng)上了公主的數(shù)學(xué)老師。   

情不知所起,一往而深

公主的數(shù)學(xué)在笛卡爾的悉心指導(dǎo)下突飛猛進(jìn),他們之間也開(kāi)始變得親密起來(lái)。笛卡爾向她介紹了直角坐標(biāo)系,代數(shù)與幾何可以結(jié)合起來(lái),也就是日后笛卡爾創(chuàng)立的解析幾何學(xué)雛形。 在笛卡爾的帶領(lǐng)下,克里斯汀走進(jìn)了奇妙的坐標(biāo)世界,她對(duì)曲線著了迷。每天的形影不離也使他們彼此產(chǎn)生了愛(ài)慕之心。   

在瑞典這個(gè)浪漫的國(guó)度里,一段純粹而美好的愛(ài)情悄然萌發(fā)。   

念去去,千里煙波,暮靄沉沉楚天闊。

他們的戀情傳到了國(guó)王的耳中,國(guó)王大怒,下令將笛卡爾處死。在克里斯汀的苦苦哀求下,國(guó)王將他放逐回國(guó),公主被軟禁在宮中。   

當(dāng)時(shí),歐洲大陸正在流行黑死病。笛卡爾回到法國(guó)后不久,便染上重病。在生命進(jìn)入倒計(jì)時(shí)的那段日子,他日夜思念的還是街頭偶遇的那張溫暖笑臉。他每天堅(jiān)持給她寫(xiě)信,盼望著她的回音。然而,這些信都被國(guó)王攔截下來(lái),公主一直沒(méi)有收到他的任何消息。   

欲知心里事,看取腹中書(shū).?

在笛卡爾給克里斯汀寄出第十三封信后,他永遠(yuǎn)地離開(kāi)了這個(gè)世界。此時(shí),被軟禁在宮中的小公主依然徘徊在皇宮的走廊里,思念著遠(yuǎn)方的情人。  ??
這最后一封信上沒(méi)有寫(xiě)一句話,只有一個(gè)方程:r=a(1-sinθ)。   
國(guó)王以為這個(gè)方程里隱藏著兩個(gè)人的秘密,便把全城的數(shù)學(xué)家召集到皇宮,但是沒(méi)有人能解開(kāi)這個(gè)函數(shù)式。他不忍看著心愛(ài)的女兒每天悶悶不樂(lè),便把這封信給了她。拿到信的克里斯汀欣喜若狂,她立即明白了戀人的意圖,找來(lái)紙和筆,把圖形畫(huà)了出來(lái),一顆心形圖案出現(xiàn)在眼前,克里斯汀淚流滿面,這條曲線就是著名的“心形線”。   

國(guó)王去世后,克里斯汀繼承王位,便立刻派人去法國(guó)尋找心上人的下落,收到的卻是笛卡爾去世的消息,留下了一個(gè)永遠(yuǎn)的遺憾……   這封享譽(yù)世界的另類(lèi)情書(shū),據(jù)說(shuō)至今還保存在歐洲笛卡爾的紀(jì)念館里。

這個(gè)故事的出處無(wú)從知道,網(wǎng)絡(luò)上流傳著各種各樣的版本,甚至在百度百科也有著這個(gè)故事。后來(lái),有人考證了真實(shí)性,認(rèn)為這是一個(gè)美麗的謊言,但并不妨礙人們對(duì)愛(ài)心線喜愛(ài)。

在直角坐標(biāo)系中,愛(ài)心線的方程的python 表達(dá)為:x** 2+ y** 2 + a * x= a * sqrt(x** 2+y** 2) 和 x** 2+ y** 2 - a * x= a * sqrt(x** 2+y** 2)通過(guò)x 來(lái)求對(duì)應(yīng)的y值很麻煩,就像軟件設(shè)計(jì)中的“萬(wàn)能層”那樣,可以采用參數(shù)方程來(lái)表示:

            
x=a*(2*cos(t)-cos(2*t))
y=a*(2*sin(t)-sin(2*t))
          

具體的python代碼如下:

            
import numpy as np
import matplotlib.pyplot as plt
a = 1
t = np.linspace(0 , 2 * np.pi, 1024)
X = a*(2*np.cos(t)-np.cos(2*t))
Y = a*(2*np.sin(t)-np.sin(2*t))
plt.plot(Y, X,color='r')
plt.show()

          

代表愛(ài)心的心形線來(lái)了:

六行python代碼的愛(ài)心曲線詳解_第4張圖片

但這不是六行代碼呀?也不是r=a(1-sinθ)呀? 的確如此,那是極坐標(biāo)系,python 的matplotlib同樣支持極坐標(biāo)系的,愛(ài)心線的六行pyton代碼如下:

            
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0 , 2 * np.pi, 1024)
plt.axes(polar = True)
plt.plot(T, 1. - np.sin(T),color="r")
plt.show()

          

這樣,得到的就是封面中的圖像了:

六行python代碼的愛(ài)心曲線詳解_第5張圖片

心形線確實(shí)是愛(ài)心滿滿,如果融入了憂傷會(huì)是怎樣呢?

            
import numpy as np
import matplotlib.pyplot as plt
 
x = np.linspace(-8 , 8, 1024)
y1 = 0.618*np.abs(x) - 0.8* np.sqrt(64-x**2)
y2 = 0.618*np.abs(x) + 0.8* np.sqrt(64-x**2) 
plt.plot(x, y1, color = 'r')
plt.plot(x, y2, color = 'r')
plt.show()

          

這樣就得到了另一個(gè)愛(ài)心線:?

六行python代碼的愛(ài)心曲線詳解_第6張圖片

網(wǎng)絡(luò)上還有關(guān)于愛(ài)心線的各種漂亮實(shí)現(xiàn),也充滿了各種各樣的情緒,但對(duì)于每一種,基本上都可以用python 相對(duì)簡(jiǎn)潔的實(shí)現(xiàn)。

實(shí)際上,繪圖很簡(jiǎn)單,難的是那些曲線方程的表達(dá)以及實(shí)際的應(yīng)用場(chǎng)景需求,比如螺旋線。

六行python代碼的愛(ài)心曲線詳解_第7張圖片

進(jìn)一步,還可以畫(huà)出各種的3維視圖,例如:?

六行python代碼的愛(ài)心曲線詳解_第8張圖片

作為數(shù)據(jù)分析乃至大數(shù)據(jù)處理的最后一個(gè)環(huán)節(jié),就是所謂洞見(jiàn)的可視化,python 可以說(shuō)是其中的一個(gè)簡(jiǎn)單實(shí)用的工具。

參考閱讀

http://matplotlib.org/

以上所述是小編給大家介紹的六行python代碼的愛(ài)心曲線詳解詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。。?/p>

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品亚洲片在线观看麻豆 | 亚洲精品国产美女在线观看 | 亚洲国产精品久久久久婷婷软件 | 午夜男人影院 | 亚洲精品福利在线 | 日韩一二区| 国产a做爰全过程片 | 亚洲第一免费视频 | 天天干天天摸天天操 | 大杳蕉伊人狼人久久一本线 | 亚洲一区二区高清 | 精品中文字幕乱码一区二区 | 亚洲精品第一区二区三区 | 97久久精品人人做人人爽 | 欧美精品久久久久久久久大尺度 | 99麻豆久久久国产精品免费 | 久久精品亚洲牛牛影视 | 天天搞天天操 | 久久9966e这里只有精品 | 亚洲欧美国产精品久久久 | 欧美午夜在线观看 | 国内精品在线视频 | 亚洲国产一区二区a毛片 | 色综合久久综合网欧美综合网 | 九九热在线观看视频 | 精品黑人一区二区三区 | 色偷偷7777www | 99精品视频99 | 国产一区在线观看视频 | 久久成人在线观看 | 国产精品亚洲精品一区二区三区 | 天天干天天草天天射 | 国产亚洲精品美女 | 日日摸天天摸狠狠摸视频 | 亚洲欧美日韩在线不卡中文 | 97视频在线观看免费 | 国产91系列| 国产日产久久高清欧美一区 | 亚洲毛片免费看 | 午夜影网| 国产亚洲一区二区三区在线观看 |