| 查看: 2160 | 回復(fù): 10 | |||
mei3014金蟲 (正式寫手)
木有頭屑
|
[求助]
matlab txt文件數(shù)據(jù)提取轉(zhuǎn)換
|
|
假設(shè)我有一個(gè)1.txt的數(shù)據(jù)文本,里面有這么一段: 3996 3.9950000000e+003 -1.46929e-005 1.39538e-005 3997 3.9960000000e+003 -1.65129e-005 6.65343e-005 3998 3.9970000000e+003 4.05215e-005 -2.06176e-004 3999 3.9980000000e+003 -2.65027e-005 1.81863e-004 4000 3.9990000000e+003 1.12635e-001 2.53541e-001 4001 4.0000000000e+003 -2.25194e-001 -5.07143e-001 4002 4.0010000000e+003 1.12585e-001 2.53582e-001 4003 4.0020000000e+003 -1.29527e-004 -7.78130e-005 4004 4.0030000000e+003 1.62932e-004 7.54291e-005 我需要的數(shù)據(jù)是 4001 4.0000000000e+003 -2.25194e-001 -5.07143e-001 換言之就是4.0000000000e+003這個(gè)頻率下的-2.25194e-001-5.07143e-001i 這個(gè)聲壓數(shù)據(jù) 然后重復(fù)剛才的過(guò)程,一個(gè)txt文件里需要提取60個(gè)4.0000000000e+003這個(gè)頻率下對(duì)應(yīng)的聲壓數(shù)據(jù)。再把這60個(gè)復(fù)數(shù)數(shù)據(jù)導(dǎo)入另一個(gè)txt文本,每個(gè)復(fù)數(shù)數(shù)據(jù)之間留個(gè)空格,那么就大功告成了。 請(qǐng)問(wèn)各位大神,這matlab程序該怎么編寫才能一步完成以上操作,誰(shuí)幫下忙,非常感謝,如果做不到一步完成,提供些思路也可以?梢宰芳臃。謝謝! |
matlab |

金蟲 (正式寫手)
木有頭屑
|
X1——X2 50cm.txt(56.41MB) http://kuai.xunlei.com/d/GOYWKZJKEDUD?p=130497 這是原始數(shù)據(jù)文件,內(nèi)容較多 |

木蟲 (職業(yè)作家)
中國(guó)特色
|
[a(:,1),a(:,2),a(:,3),a(:,4)]=textread('ddt.txt'); %讀入數(shù)據(jù),假設(shè)你的數(shù)據(jù)文件名為ddt.txt ind=find(a(:,1)==4000); b=a(ind, ; % 此時(shí)已把ddt.txt中所有含4000的行都提取出來(lái)單獨(dú)組成了矩陣b寫到文件里,應(yīng)該很容易了吧,自己弄吧 |

木蟲 (職業(yè)作家)
中國(guó)特色

金蟲 (正式寫手)
木有頭屑
|
Header Size: 79 Pulse Version: 80 Running Pulse Version: PULSE LabShop v. 15.1.0.15 - 2010-11-08 Decimal Symbol: . Date Format: 'yyyy-MM-dd' Time Format: 'HH:mm:ss.mmm' Data Type: Complex Slice: False Z-Axis type: Linear Z-Axis size: 1 Z-Axis unit: Z-Axis first value: 0.0000000000e+000 Z-Axis delta: 1.0000000000e+000 X-Axis type: Linear X-Axis size: 6401 X-Axis unit: Hz X-Axis first value: 0.0000000000e+000 X-Axis delta: 1.0000000000e+000 AmplitudeUnit: Pa Analyzer: FFT_Spectrum_Averaging AnalyzerName: FFT Analyzer Bipolar: True CenterFrequency: 3.2000000000e+003 dBReference: 2.0000000000e-005 Domain: 1 Function: Fourier Spectrum InputRange: 8.5304914740e+002 MultiBufferName: Input NBW: 1.5000000000e+000 OverlapFailed: False Power: False PowerUnit: Pa^2 Ratio: False RecordLength: 1.0000000000e+000 Ref_Signal: Signal 1 Signal: Signal 1 SignalUnit: Pa Title: Fourier Spectrum(Signal 1) - Input Title1: Working : Input : Input : FFT Analyzer Weight: 0 ZoomOn: False TemplateName: Working MeasurementName: Input MeasurementSlice: False EnvelopeOn: False Z-index: 1 Date: '2012-11-01' Time: '14:25:27.624' Relative time: 0.00000e+000 Z-axis: 0.0000000000e+000 1 0.0000000000e+000 -2.69714e-005 0.00000e+000 程序比較復(fù)雜,在一樓所示程序內(nèi)容這段上面還有一段是不規(guī)則的數(shù)據(jù),如上所示,而且txt文本中內(nèi)容很多,txt文本大小就有56M多了,可想而知。 另外我用你的程序運(yùn)行語(yǔ)句: [a(:,1),a(:,2),a(:,3),a(:,4)]=textread('X1_X2_45cm.txt'); %讀入數(shù)據(jù),假設(shè)你的數(shù)據(jù)文件名為ddt.txt。 matlab運(yùn)行不下去了,提示錯(cuò)誤為: ??? Error using ==> dataread Trouble reading number from file (row 1, field 1) ==> Header Size: 79 \n Error in ==> textread at 176 [varargout{1:nlhs}]=dataread('file',varargin{:}); 所以你編的程序不能應(yīng)用于我的含有復(fù)雜內(nèi)容的txt文件數(shù)據(jù)提取,只適合含有規(guī)則數(shù)據(jù)內(nèi)容的數(shù)據(jù)提取,不過(guò)還是謝謝你的回答! |

鐵蟲 (初入文壇)
金蟲 (正式寫手)
木有頭屑

榮譽(yù)版主 (著名寫手)
彩色掛圖
![]() |
專家經(jīng)驗(yàn): +2 |

金蟲 (小有名氣)
|
textread函數(shù)的功能是十分強(qiáng)大的,如果沒(méi)記錯(cuò)的話(具體用法請(qǐng)參考matlab幫助文件) [data1,data2,data3,data4]=textread('X1_X2_45cm.txt','%n%n%n%n',N1,'headerlines',N2); 就可以跳過(guò)開(kāi)頭的N2行,而N1表示重復(fù)該讀取動(dòng)作N1次, 這樣差不多就可以解決你的文件格式問(wèn)題了! |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 306求0703調(diào)劑一志愿華中師范 +8 | 紙魚ly 2026-03-21 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 284求調(diào)劑 +10 | Zhao anqi 2026-03-22 | 10/500 |
|
|
[考研] 求調(diào)劑 +7 | 十三加油 2026-03-21 | 7/350 |
|
|
[考研] 284求調(diào)劑 +3 | yanzhixue111 2026-03-23 | 6/300 |
|
|
[考研] 上海電力大學(xué)材料防護(hù)與新材料重點(diǎn)實(shí)驗(yàn)室招收調(diào)劑研究生(材料、化學(xué)、電化學(xué),環(huán)境) +3 | 我愛(ài)學(xué)電池 2026-03-23 | 3/150 |
|
|
[考研] 石河子大學(xué)(211、雙一流)碩博研究生長(zhǎng)期招生公告 +3 | 李子目 2026-03-22 | 3/150 |
|
|
[考研] 308求調(diào)劑 +3 | 墨墨漠 2026-03-21 | 3/150 |
|
|
[考研] 319求調(diào)劑 +4 | 小力氣珂珂 2026-03-20 | 4/200 |
|
|
[考研] 材料工程專碩 348分求調(diào)劑 +3 | 冬辭. 2026-03-17 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 妮妮ninicgb 2026-03-21 | 4/200 |
|
|
[考研] 求助 +5 | 夢(mèng)里的無(wú)言 2026-03-21 | 6/300 |
|
|
[考研] 材料學(xué)學(xué)碩080502 337求調(diào)劑-一志愿華中科技大學(xué) +4 | 順順順mr 2026-03-18 | 5/250 |
|
|
[考研] 南昌大學(xué)材料專碩311分求調(diào)劑 +6 | 77chaselx 2026-03-20 | 6/300 |
|
|
[考研] 一志愿南昌大學(xué),327分,材料與化工085600 +9 | Ncdx123456 2026-03-19 | 9/450 |
|
|
[考研] 一志愿中海洋材料工程專碩330分求調(diào)劑 +8 | 小材化本科 2026-03-18 | 8/400 |
|
|
[考研] 考研調(diào)劑求學(xué)校推薦 +3 | 伯樂(lè)29 2026-03-18 | 5/250 |
|
|
[考研] 求調(diào)劑,一志愿:南京航空航天大學(xué)大學(xué) ,080500材料科學(xué)與工程學(xué)碩,總分289分 +4 | @taotao 2026-03-19 | 4/200 |
|
|
[考研] 353求調(diào)劑 +3 | 拉鉤不許變 2026-03-20 | 3/150 |
|
|
[考研] 261求B區(qū)調(diào)劑,科研經(jīng)歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考博] 申博26年 +3 | 八6八68 2026-03-19 | 3/150 |
|