2015-07-03 38 views
1

我有一個腳本,用於累積我的數據並在之後繪製它。在我的情況下,我的數據是溫度,圖表顯示了一年中這些溫度和每個溫度達到的小時數。Matlab:對數據進行計數和排序產生逆向累積順序

例如:一年是25度,寒冷

  • 在6000小時,今年則是20度,

    • 在7500小時寒冷

    我得到的結果是我需要使用下面的matlab scrpit:

    filenameTRY2035='TZ10.dat'; 
        daten = dlmread(filenameTRY2035); 
        TZ10 = sort(daten(1:length(daten))); 
    
        A = length(TZ7); A = A'; 
    
        % plot 
        figure(1) 
        clf(1) 
    
        hold on; 
        h1 = plot(TZ10,A); 
    

    現在我想要溫度計算其他方式。

    例如:每年的25度和熱

  • 3500小時,今年則是20度,

    • 在千小時熱

    誰能幫我修改我的腳本在我得到我需要的情節的方式?

    非常感謝, 夏安

  • 回答

    1

    因此,讓我們說你有

    TZ10 = 
    
         .... 7000 7300 7500 .... 
    

    7500 - > 25℃或更低溫度

    7300 - > 24°或更冷

    7000 - > 23°或更低

    ...

    一年有8766小時。

    然後以相反的順序將是

    l = length(TZ10); 
    TZ10_reverse(l) = 8766 - TZ10(1) 
    for temp = 2:l 
        TZ10_reverse(l - temp + 1) = (8766 - TZ10(temp)) + (TZ10(temp) - TZ10(temp - 1)); 
    end 
    

    因爲如果一年有8766小時,7500小時等於或一年更冷超過25℃,則有8766 - 7500 嚴格溫度超過25℃一年和TZ10(25) - TZ10(24)天等於25°

    我也做了它爲了得到它排序!

    順便說一句....

    TZ10 = sort(daten(1:length(daten))); 
    

    相當於

    TZ10 = sort(daten); 
    

    daten 1的元素的daten最大指數basicly daten本身!

    +0

    非常感謝:) – Cheyenne

    +0

    沒問題!不要忘記檢查答案爲「接受」;) – Ikaros