MATLAB Linear Analysis Tool 的bode图数据获取
生活随笔
收集整理的這篇文章主要介紹了
MATLAB Linear Analysis Tool 的bode图数据获取
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
版本:MATLAB 2018b
問題描述:MATLAB/Simulink的Linear Analysis Tool 功能很強大,可以用其做小信號分析,獲得的bode圖的數(shù)據(jù)很難獲取,在此總結(jié)了如何獲取bode圖數(shù)據(jù)的方法。
第一步:插入擾動輸入與輸出,軟件掃頻獲得bode圖,下圖,為SS補償WPT無線電能傳輸系統(tǒng)的一種控制方法的傳遞函數(shù)。
第二步:將上述bode導(dǎo)出為print to figure,并保存。
下圖為導(dǎo)出的figure形式。
第三步:從figure中獲取數(shù)據(jù)。由于bode圖有相位圖和幅值圖,我們一下的命令一次只能獲得一個圖的信息,因此要進行兩次操作,全程請保持figure圖開啟。
① 獲取幅值圖
鼠標點擊幅值圖,保證我們運行的命令是針對幅值圖的。
需要用到命令。提示:figure 不要關(guān)閉。
lh=findall(gca,'type','line'); % 從當前圖(gca)中取出曲線的handle, xc=get(lh,'xdata'); % 取出x軸數(shù)據(jù),注意,這個x和y是以cell的數(shù)據(jù)結(jié)構(gòu)保存的 yc=get(lh,'ydata'); % 取出y軸數(shù)據(jù)x=xc{1};從cell轉(zhuǎn)換成矩陣,可以這樣寫y=yc{1};運行結(jié)束后,或發(fā)現(xiàn)xc,yc分別為cell形式的數(shù)據(jù)
xc{3,1}與yc{3,1}存儲了我們所需要的數(shù)據(jù)。我們可以直接通過一下命令來獲取頻率信息和幅值。然后通過下邊的命令保存我們的頻率和幅值信息。
frequency = xc{3}; mag = yc{3}② 獲取相位圖信息
鼠標點擊相位圖,確保我們的命令是針對相位圖的。重復(fù)上述獲取數(shù)據(jù)的命令,在進行轉(zhuǎn)換。我們就完成了數(shù)據(jù)的獲取。
以上的數(shù)據(jù)全部存儲在數(shù)組當中,我們可以通過命令編輯上述數(shù)據(jù),進行我們想要的操作了。
附送大家一段代碼,將兩個bode數(shù)據(jù)繪制到同一個圖中。
figure; color1=[1,0,0]; %[0.64706 0.16471 0.16471]; color2=[0,0.45,0.74];%[0 0 1];subplot(2,1,1); semilogx(Fre_Hz,20*log10(Amp1),'-','Color',color1,'LineWidth',1.2); hold on; % semilogx(VarName1,20*log10(VarName3/2/2/pi),'o','Color','g','LineWidth',1.2); semilogx(VarName1,VarName3,'o','Color','g','LineWidth',1.2); hold on; grid onsubplot(2,1,2); semilogx(Fre_Hz,Pha-720,'-','Color',color1,'LineWidth',1.2); hold on; semilogx(VarName1,VarName2,'o','Color','g','LineWidth',1.2); hold on; grid on;效果就是這一個樣子。
?
總結(jié)
以上是生活随笔為你收集整理的MATLAB Linear Analysis Tool 的bode图数据获取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python qrcode二维码操作——
- 下一篇: 15道 Vue 面试题,内含详细讲解(涵