현재 위치 - 법률 상담 무료 플랫폼 - 법률 자문 무료 플랫폼 - 如何用matlab繪制冪律分布
如何用matlab繪制冪律分布
在MATLAB中,對數據進行擬合,看數據在雙對數坐標下是否符合冪律分布,找出冪指數,並繪制圖形。-在MATLAB中,對數據進行擬合,在雙對數坐標中查看數據在哪裏滿足冪律分布,找到冪指數,並繪制圖形。以傅雷書信為例:(翻譯237個時間單位)。

“& gt》;輸入後,該行不包含“》& gt”“/”是MATLAB運算的結果,後面是註釋部分。

& gt& gtx =【】;/輸入修改後的字母間隔。

& gt& gty =【】;/輸入累積概率

& gt& gtlog log(x,y,‘ko‘)/繪制雙對數坐標圖(k代表黑色,o代表圓形)。

& gt& gt保持剛剛繪制的圖表,以便在此處繼續繪制壹條擬合直線。

& gt& gta = poly fit(log(x),log(y),1)/求擬合線的參數(線性項和常數項)。

a =

-1.0700 5.9525

& gt& gtb = 2.71828 5.9525/常數項變換

b =

384.7124

& gt& gtx = 100:100000;/根據上面的圖表指定x的取值範圍。

& gt& gty=b*x.^-1.0700;/根據剛才的計算輸入X和Y的關系。

& gt& gtplot(x,y,‘k‘)/在雙對數坐標中繪制壹條擬合直線。

上面的程序可以得到我們需要的圖形,圖形的重新編輯可以在圖形窗口下的編輯-圖形屬性中修改(顏色、線條粗細、坐標軸命名等。).

但需要註意的是,該plotfit函數不能用於擬合非常復雜的函數,只能用於擬合線性、二維等,當用於擬合具有冪律分布的曲線時,可以先截取壹部分點,然後再用該函數進行擬合。

MATLAB軟件提供了曲線擬合功能的基本命令。

多項式函數擬合:P = poly fit(x,y,n)

其中n表示多項式的最高階數,x,y是要擬合的數據,以數組的形式輸入。輸出參數p是擬合多項式p(1)* x n+p(2)* x(n-1 )+...+p(n)* x+p(n)

x處多項式的y值可以通過以下程序計算。

y =多值(P,x,m)

線性:m=1,二次:m=2,…

polyfit的輸出是多項式系數的線向量。為了計算xi數據點的多項式值,調用了MATLAB的polyval函數。

示例:

x = 0:0.1:1;

y =【-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9。48 9。30 11。2】;

a = poly fit(x,y,2)

z = polyval(A,x);

繪圖(x,y,‘r *‘,x,z,‘b‘)