Matlab【可视化作图】绘制线电压相电压辅助线
目錄
- 引言
- 繪圖原理
- 采點
- 繪圖
- 設置坐標軸標尺
引言
學習電力電子的同學可能在私下里練習的時候非常需要三相線電壓和相電壓的輔助線。最近我隨便找了一本書把Matlab可視化編程惡補了一下,給大家介紹一下這個波形輔助線是怎么做的。
三相線電壓輔助線就是一組相位相差60°的正弦曲線,三相相電壓輔助線就是一組相位相差120°的正弦曲線。為了讓曲線具有普遍性,我選的x坐標軸的間距都是π6\frac{\pi}{6}6π?,y軸截取到最大值和最小值。
繪圖原理
Matlab繪圖指定精度繪圖(這一點和幾何畫板不太一樣),因此需要制定一個采樣間隔,我們制定的是0.01,對于普通作圖已經足夠了。選取作圖的周期(我們選取的是8個1/4周期,對于線電壓和相電壓足夠——即4π4\pi4π),在這里我們略去不太重要的指定顏色過程(plot函數當同時作很多圖時自動分配不同顏色),給大家敘述最重要步驟——采點和坐標分配。
采點
x=0:0.01:8*pi/2;%繪圖坐標0是起始點,0.01是采樣間隔,8*pi/2是終止點(Matlab中的pi就是π\piπ的符號常量)
接著計算線電壓相電壓。如果查看Matlab幫助就會發現,plot(x,y),當x=vector(向量),y=matrix(矩陣)時,優先對應y的列和x,若y的列數等于x向量的維數,畫圖時,每一組數據繪圖時對應x的全體值和y的每一行的所有值。若y的列數不等于x的維數,且y的行數等于x向量的維數,每一組數據繪圖時對應x的全體值和y的每一列的所有值。
因此,我們只需要定義一個6行的線電壓矩陣和一個3行的相電壓矩陣,每一個矩陣x對應的線電壓/相電壓即可:
繪圖
上面已經接受過,x為向量,y為數值矩陣時(現在y的列數等于x的向量),plot(x,y)會繪制多張圖,圖的數目等于y的行數。因此下面的繪圖指令就變得特別簡單:
plot(x,lvotage);xlim([pi,4*pi]);title('線電壓波形圖'); plot(x,pvoltage);xlim([0,4*pi]);title('相電壓波形圖');title指令用來設置標題,如果不需要,也可以刪去。
設置坐標軸標尺
我們需要每π6\frac{\pi}{6}6π?設置一個坐標尺,方便我們對應原來的圖。使用xtick()指令即可,注意此指令中一定是數值向量形式或者等差數列表示法。另外,我們如果不需要坐標軸的標簽,可以去掉,以免多個小數位對我們的視野造成干擾。
x=0:0.01:8*pi/2;%繪圖坐標 lvoltage=zeros(6,size(x,2));%線電壓數值矩陣 pvoltage=zeros(3,size(x,2));%相電壓數值矩陣 for i=1:6lvoltage(i,:)=sin(x+(i-1)*pi/3); end for i=1:3pvoltage(i,:)=sin(x+(i-1)*2*pi/3); end plot(x,lvoltage);xlim([0,4*pi]);title('線電壓波形圖'); xticks(0:pi/6:4*pi); xticklabels({});%去掉x軸標簽 yticklabels({});%去掉y軸標簽 figure;%另起一張圖 plot(x,pvoltage);xlim([0,4*pi]);title('相電壓波形圖'); xticks(0:pi/6:4*pi); xticklabels({}); yticklabels({}); for i=1:6lvoltage(i,:)=sqrt(3)*sin(x+(i-1)*pi/3+pi/6); end figure;%另起一張圖 plot(x,pvoltage,'-.');xlim([0,3*pi]); xticks(0:pi/6:3*pi); yticks([-sqrt(3),-1,0,1,sqrt(3)]);%標記線相電壓的峰值 hold on; plot(x,lvoltage,'-');xlim([0,3*pi]); xticklabels({}); yticklabels({}); title('線相電壓結合波形圖');執行效果如下圖:
圖1圖1圖1
圖2圖2圖2
圖3圖3圖3
希望本文對您有幫助,謝謝閱讀。
總結
以上是生活随笔為你收集整理的Matlab【可视化作图】绘制线电压相电压辅助线的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins安装和持续集成环境配置
- 下一篇: 5、电子邮件客户端程序设计与实现