1

Matlab には、読み込んで行列に変換した txt ファイルがいくつかあります。行列は、世界中のさまざまな都市の気温データを表しています。各マトリックスの最初の列は年です。各ファイルは異なる範囲の年にまたがっていますが、これらの年のいくつかはすべて重複しています。重複している場所を見つけて、抽出 (または重複していない年を削除) して、データをプロットすると、各データ セットが同じ年のスパンを使用するようにしたいと考えています。コードは、未知の数のこれらの txt ファイルを取り込むことができるはずです。「交差」機能を使用しようとしましたが、要素ごとに機能します。重複する年のすべてのデータが必要なので、要素 (ヘッダーを除く) は異なります。

現在のコードの例:

clear all 
files = dir('.txt'); 
num_files = length(files); 
mintersect(files); 
for i=1:num_files 
    eval(['load ' files(i).name ' -ascii']); 
    vals{i} = load(files(i).name); 
    matrix = vals{i}; 
    station = (files(i).name(1:end-4)); 
    matrix(matrix == 999.9) = NaN; 
    matrix(matrix == -99.0) = NaN; 
    years = matrix(:,1); 
    months = matrix(:,2:13)'; 
    figure, hold on 
    plot(years, months,''); 
    ylabel('Temp.'); 
    xlabel('Years'); 
    grid on; 
    title(sprintf('Mean Monthly Temperature for %s Station',station)); 
end
4

0 に答える 0