2011-12-23 7 views
0

capture of part of the .txt file同時に2つのプロットを含むFigureウィンドウを作成する必要があります。私はいくつかの導入行と3列の値を持つ.txtファイルが与えられています。最初の列はxの値を持ち、2番目と3番目の値はyです。プロットを作成する列の値を読み取る

第一アクセスFID = fopenをなどでファイル

第二のファイルを読んで、私はこれを使用した最初の30行(導入線)スキップ:プロット自体を作る

headlines = fgetl(fid); 
    for i = 1:30 
     tline = fgetl(fid); 
     headlines = char(headlines(1:i-1,:), tline); 

3位両方のプロットが同じFigureウィンドウに収まるように、ホールド(またはホールド)を使用します。どういうわけか私はコラムを値を賭けてプロットすることが必要です。私は手で書くことができましたが、私はそれを読むためのプログラムが必要です。私はそれについて説明することはできませんが、あなたはその考えを持っていると思います。何かが欠落している場合など

fcloseを(FID)と

そして最後に近い、それはあなたが第三で私を助けて、私を教えていただけますか?事前にありがとう:)

+0

実は、私はあなたが何を意味するか理解していません。 MSPaintに例を描き、質問に添付できますか? –

+0

オリはそれを正しく得た。私は多くのベクトルをもたらす多くの価値を持っているので、手で(百以上の)それらの権利を守ることはできません。そして彼が答えたものは私の問題を解決しますが、今私はそれらの30行をスキップする必要があります。 – Dywabo

答えて

2

[OK]を、私は私が見つけたと思うが、私はそのようなことをするだろう問題。私はあなたのデータがどこかで無効なテキストを持っていると思っていました。私は、インターネットを検索し、私はデータのコピーを見つけたと思う...次のようにこのデータセットのhttp://cdiac.ornl.gov/ftp/trends/temp/hansen/gl_land.txt

結末は次のとおりです。

2007  0.75  0.69 
2008  0.56  0.70 
2009  0.72 -99.99 
2010  0.83 -99.99 
------------------------- 

終わり----ラインが原因となっていますそれは誤りです。

だから私は、次のように使用:

fid = fopen('gl_land.txt','r'); 
C = textscan(fid,'%f %f %f','headerlines',30,'commentstyle','--'); 
fclose(fid); 
x = C{1}; y1 = C{2} y2 = C{3}; 
plot(x,[y1 y2]) 

私はtextreadは、カスタムcommentstylesをサポートしていないため、関数textscanに切り替えます。私は、 ' - 'は否定的な値をスキップし始めるので、 ' - 'の代わりに ' - 'というコメントスタイルを使用しました。

注:このデータはあなたがプロットする前に、以下を追加したい場合がありますので、無効/失われたデータを示すために、-99.99が含まれています

y1(y1==-99.99) = NaN; 
y2(y2==-99.99) = NaN; 

Data Plot

+0

あなたは良いです。あなたはOPが隠していたよりも情報を見つけることができました。ニース。 – Oli

+0

ありがとう、ありがとう、ありがとう!これは私の任務にとって本当に重要でした! :)それは〜のためだった - 私は数字を得ることができなかったと私はまた値の列から変数を作成する方法を学ぶ! – Dywabo

1

私はそれがあなたの問題を正確に解決するかどうかはわかりません。

values.txt:

... 
... 
1 0 0 
2 0 1 
3 1 0 
4 1 1 
5 1 2 
6 2 4 

MATLABスクリプト:

[x y1 y2]=textread('values.txt','%f %f %f','headerlines',30) 
plot(x,[y1 y2]) 

結果:

enter image description here

+0

私はこの問題を解決するかもしれないと思いますが、それらの30行をスキップする方法を教えてください。 – Dywabo

+0

ok、私はオプション '' headerlines '、30' – Oli

+0

で編集しました。どういうわけか本当にできません。同じエラーが表示され続け、私は何をすべきかわからない:??? ==> textscanを使用しているエラー 出力引数が多すぎます。 ==> testeeのエラーが1 [xy1 y2] = textscan( 'gl_land.txt'、 '%f%f %f'、 'headerlines'、30);でエラーが発生しました。 – Dywabo

関連する問題