2015-11-19 235 views
0

我有多天的電壓和電流信號。時間向量以一秒爲單位(SOD),電壓和電流矢量分別以伏特和安培表示。但是,每天的矢量數據長度不同。例如星期一的數據對於時間和電壓/電流都可能是1x100000,而對於時間和電壓/電流,星期二的數據可能是1x50000。爲了進行比較,我被要求在同一幅圖上繪製不同日期的數據。我嘗試過使用plot(x1,y1,x2,y2)方法,但由於矢量長度不同,顯然無法使用。我嘗試插入到更大的數據集,但後來意識到我將得到所有NaNs的結果,因爲沒有時間上的重疊。我用盡了想法,迫切需要幫助。在MATLAB中繪製多個數據集

編輯: 我想我忘了提,不知怎的,我想它們疊加一個在同一圖中其他的頂部,而不是使用一個插曲。

+0

「這顯然不因工作不同的矢量長度「;真?如果'x1'和'y1'都來自同一天,它們應該具有相同數量的時間和電壓/電流。只有該元素數量需要匹配。 ('x2','y2')的元素數與('x1','y1')對無關。 – TroyHaskin

+0

讓我糾正自己。它的工作,但是,數據不排隊。後一天的數據明顯向右移動。我想要做的是對齊他們... – DeeTee

+1

哎呀。兩個'x'-數據都能夠線性轉換爲'0'嗎?即,plot(x1-x1(1),y1,x2-x2(1),y2)'。 – TroyHaskin

回答

1

它聽起來好像要長度n的數據矢量跨越,我猜24小時= 86400秒,對於任何n(例如n=100000n=50000)。假設原始數據均勻採樣,這應該做的伎倆:

x1=linspace(0,86400,length(x1)); 
x2=linspace(0,86400,length(x2)); 
plot(x1,y1,'r-',x2,y2,'b-'); 

如果不是均勻採樣,我們仍然可以讓它工作:

t1=linspace(0,86400,length(x1)); 
t2=linspace(0,86400,length(x2)); 
newy1 = spline(x1,y1,t1); 
newy2 = spline(x2,y2,t2); 
plot(t1,newy1,'r-',t2,newy2,'b-');