国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識 > Matlab驗證:譚編首次提出的曲線微分求導(dǎo)方法科學(xué)嗎?

Matlab驗證:譚編首次提出的曲線微分求導(dǎo)方法科學(xué)嗎?

時間:2020-08-30 來源:編輯之譚 瀏覽:

一勞永逸地搞定微分電容

Crusher

武漢大學(xué)博士生

 

能源材料是一個很熱的話題,而對于奮戰(zhàn)在一線的研究者們來說,循環(huán)伏安(CV)和線性伏安(LSV)測試幾乎必不可少。

 

然而,在大量文獻(xiàn)中,CV曲線似乎并非必需的數(shù)據(jù)曲線,取而代之的是微分電容曲線。

 

不少同學(xué)參考這些文獻(xiàn)方法,試圖得到類似的微分容量曲線,但是,實際上會遇到很多困難。

 

要么不知道怎么得到(當(dāng)然某些國產(chǎn)儀器可以從充放電曲線中點擊查看微分容量曲線,某些進(jìn)口電化學(xué)工作站未必會有這個功能),要么在利用Origin繪圖軟件進(jìn)行微分處理時,得到的一定是類似下圖的奇怪結(jié)果。

圖1 采用Origin微分得到的微分容量曲線

 

滿屏的豎線,第一感覺往往是:頭大

 

至于為什么會這樣,主要是由于采點的原因,或者儀器精密度的限制,導(dǎo)致直接作微商的過程出現(xiàn)了很多0/0的不定型,而0/0的未定型在數(shù)學(xué)上即可以是0,也可以是無窮大或無窮小。

 

今天譚編聯(lián)合武漢大學(xué)的某博士科研狗,給大家?guī)砹烁R簦?/span>一勞永逸地搞定微分電容。

在今天發(fā)布的【微分求導(dǎo)】專題系列文章中,小編由主到次、由淺入深解決以下問題:

問題1:怎樣求微分電容電容?(本文)

問題2:微分電容到底是什么?(下一篇)

問題3:從數(shù)學(xué)上進(jìn)一步深層探討求解微分電容方法的可信性和局限性。(下一篇)

問題1,怎樣求微分電容

 

本文的具體驗證原理基于【編輯之譚】前期發(fā)布的《Origin+Excel神操作:從充放電曲線繪制微分電容曲線》,請點擊以下鏈接查閱。

Origin+...神操作:從充放電曲線繪制微分電容曲線

在上面這篇文章中,譚編首次提出了微分電容的平均求導(dǎo)法(方法1)、交叉求導(dǎo)法(方法2)。

 

本文對這兩種方法的科學(xué)性進(jìn)行驗證,同時,綜合考慮方法1和方法2有可能導(dǎo)致正負(fù)偏差或計算結(jié)果有可能引入的曲線極化現(xiàn)象,本文提出均值法方法3,即對兩種方法的計算結(jié)果再次求均值的方法,對比研究并驗證這3種方法對電池充放電曲線求解微分電容曲線的科學(xué)性、準(zhǔn)確性、可行性。

 

我們編寫的Matlab腳本如下(左右滑動,可以閱讀完整代碼),可全選復(fù)制Matlab源代碼,也可留言或聯(lián)系譚編微信免費獲取。


 


1%Matlab源代碼
2clc
3clearall
4A=xlsread('testnfpcv.xlsx');
5n=size(A,2)
6A;
7figure(1)
8fori=1:n/2
9plot(A(:,2*i),A(:,2*i-1))
10holdon
11end
12forj=1:n/4
13name(2*j-1,:)=['第'num2str(j),'次充電'];
14name(2*j,:)=['第'num2str(j),'次放電'];
15legend(name)
16title('充放電曲線')
17end
18d=150;
19figure(2)
20fori=1:length(A(:,1))-d
21forj=1:n/2
22C(i,2*j-1)=(A(i,2*j-1)+A(i+d,2*j-1))/2;
23C(i,2*j)=((A(i+d,2*j))-(A(i,2*j)))/((A(i+d,2*j-1))-(A(i,2*j-1)));
24end
25end
26forj=1:n/2
27plot(C(:,2*j-1),C(:,2*j))
28holdon
29end
30forj=1:n/4
31name1(2*j-1,:)=['第'num2str(j),'次充電微分電容'];
32name1(2*j,:)=['第'num2str(j),'次放電微分電容'];
33legend(name1)
34title('方法1:平均求導(dǎo)法')
35end
36d1=150;
37figure(3)
38fori=1:length(A(:,1))-d1
39forj=1:n/2
40D(i,2*j-1)=A(i+d1/2,2*j-1);
41D(i,2*j)=((A(i+d1,2*j))-(A(i,2*j)))/((A(i+d1,2*j-1))-(A(i,2*j-1)));
42end
43end
44forj=1:n/2
45plot(D(:,2*j-1),D(:,2*j))
46holdon
47end
48forj=1:n/4
49name2(2*j-1,:)=['第'num2str(j),'次充電微分電容'];
50name2(2*j,:)=['第'num2str(j),'次放電微分電容'];
51legend(name2)
52title('方法2:交叉求導(dǎo)法')
53end
54%方法3將兩者相加
55figure(4)
56fori=1:min(length(A(:,1))-d,length(A(:,1))-d1)
57forj=1:n/2
58E(i,2*j-1)=0.5*(C(i,2*j-1)+D(i,2*j-1));
59E(i,2*j)=0.5*(C(i,2*j)+D(i,2*j));
60end
61end
62forj=1:n/2
63plot(E(:,2*j-1),E(:,2*j))
64holdon
65end
66forj=1:n/4
67name3(2*j-1,:)=['第'num2str(j),'次放電微分電容'];
68name3(2*j,:)=['第'num2str(j),'次充電微分電容'];
69legend(name3)
70title('方法3:兩者方法取均值')
71end
72figure(5)
73forj=1:n/2%同時比較三種方法求出的第一周充放電曲線的微分電容
74plot(C(:,2*j-1),C(:,2*j),'g')
75holdon
76plot(D(:,2*j-1),D(:,2*j),'b')
77holdon
78plot(E(:,2*j-1),E(:,2*j),'m')
79legend('方法1','方法2','方法3')
80title('三種方法比較')
81end

 

不需要懂電化學(xué)知識和數(shù)學(xué)原理,尤其矩陣運算方面的知識,只需要將你的數(shù)據(jù)拷入到excel表格中,按電壓-容量(或比容量,都可以二者無所謂),有一條曲線就粘貼一次“電壓-容量”,有多條曲線就粘貼多次。多說無益,我們直接上圖吧。

圖2 將充放電數(shù)據(jù)拷入Excel文件

 

為了驗證腳本的可信性,我們分峰形比較簡單和多對峰分別討論。

1.簡單峰(LiFePO4

LiFePO4是一個成熟的電極材料,目前被比亞迪,寧德時代等各大電池廠商大量使用。磷酸鐵鋰有一個平坦的工作平臺,但可逆容量不甚高,下圖是我們曾經(jīng)做的一次摻雜,可見充放電平臺基本上保持不變?,F(xiàn)在利用我們編寫的Matlab腳本程序,自動讀取該曲線的Excel數(shù)據(jù)文件,計算它的微分電容曲線。

圖3 改性的磷酸鐵鋰的充放電曲線(研究對象)

 

利用我們編寫的Matlab腳本,對方法1、方法2、方法3進(jìn)行了驗證,其結(jié)果如圖4所示。

圖4 三種方法的微分容量曲線

(點擊圖片,可放大查閱)

 

可見,三種方法幾乎沒有明顯差別(放電的小峰正是由于摻雜引起的),這主要是步長d,d1都取的較小。如果得不到較好的結(jié)果,請直接嘗試修改不同的步長值。另外,如果步長較大時,推薦使用方法3,因為方法1和2會分別產(chǎn)生一個負(fù)的和正的誤差,兩者疊加能在一定程度上消除數(shù)據(jù)處理帶來的誤差。

上述的驗證結(jié)果表明:我們編寫的Matlab腳本對簡單峰的識別是非常成功的,那么如果是多條曲線,而且是多個充放電平臺(多峰)曲線的復(fù)雜情況呢?

 

2. 多峰多曲線

圖5是一種具有多個充放電平臺的充放電曲線,不用改腳本,直接將充放電的數(shù)據(jù)拷入到excel表格中,用matlab讀入后,運行即可。

運行結(jié)果:

圖5 具有多平臺的充放電曲線(研究對象)

 

圖6 多平臺充放電曲線的微分求導(dǎo)結(jié)果

(點擊圖片,可放大查看)

 

對比可見,除了主要的峰形,3.2V等處的小峰也清晰可見,這有助于對充放電機(jī)理深刻理解。所以該腳本對于多對峰,多條曲線的處理能力也是很不錯的。唯一要注意的是,如果d取的較大,可能會造成曲線的左右移動,人為地制造出極化,為此,可將第39行(即第5行,下面只是節(jié)選代碼)的d1除以2。

1d1=150;
2figure(3)
3fori=1:length(A(:,1))-d1
4forj=1:n/2
5D(i,2*j-1)=A(i+d1/2,2*j-1);
6D(i,2*j)=((A(i+d1,2*j))-(A(i,2*j)))/((A(i+d1,2*j-1))-(A(i,2*j-1)));
7end
8end

 

說了這么多,如果某些同學(xué)習(xí)慣在origin中作圖,怎樣導(dǎo)出微分后的數(shù)據(jù)呢,只需加一條輸出語句‘xlswrite’即可,具體用法請找“度娘”(百度)。

 

如果只是在文章中單純地用一下,上面的內(nèi)容就夠了。但為了深刻理解,譚編推薦閱讀本期專題的其他文章。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時內(nèi)刪除。
相關(guān)推薦