下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、如何編寫MATLAB程序才能實現(xiàn)對.TXT文檔的讀寫_gypsy_新浪博客 關閉文件用fclose函數(shù),調(diào)用格式為:sta = fclose(fid)說明:該函數(shù)關閉fid所表示的文件。其調(diào)用格式為:A,COUNT=fscanf(fid ,format,size)說明:其中A用來存放讀取的數(shù)據(jù),COUNT返回所讀取的數(shù)據(jù)元素個數(shù),fid為文件句柄,format用來控制讀取的數(shù)據(jù)格式,由%加上格式符組成,常見的格式符有:d (整型)、f (浮點型)、s (字符串型)、c (字符型)等,在%與格式符之間還可以插入附加格式說明符,女n 數(shù)據(jù)寬度說明等。matlab fprintf.數(shù)據(jù)的格式化輸出:
2、fprintf(fid, format, variables)fprintf (fid,format,A)說明:fid 為文件句 柄,指定要寫入數(shù)據(jù)的文件,format是用來控制所寫數(shù)據(jù)格式的格式符,與fscanf函數(shù)相同,A是用來存放數(shù)據(jù)的矩陣。 fid=fopen(d:char1.txt,w);fid1=fopen(d:char1.txt,rr);matlab讀 txt 文件fid=fopen(fx.txt,r);% 得到文件號f,count=fscanf(fid,%f %f,12,90);%把文件號 1 的數(shù)據(jù)讀到 f 中。matlab 函數(shù) fgetl和fgets :按行讀取格式文本函
3、數(shù)fgetl和fgets來從格式文本文件fgets拷貝新行字符到字符向量,fgetl 一次讀取一整行。while fmatlab函數(shù)fgetl和fgets :按行讀取格式文本函數(shù) Matlab提供了兩個函數(shù)讀取行,并存儲到字符串向量中。這兩個函數(shù)集幾乎相同;不同之處是,而fgetl則不。下面的M-file函數(shù)說明了 fgetl的一個可能用法。此函數(shù)使用 eof(fid) = 0 tline = fgetl(fid);%用Fourier變換求取信號的功率譜-周期圖法clf;Fs=1000;N=256;Nfft=256;%數(shù)據(jù)的長度和FFT所用的數(shù)據(jù)長度n=0:N-1;t=n/Fs;%采用的時間序
4、列xn=si n(2*p i*50*t)+2*si n(2* pi*120*t)+ra ndn (1,N);dBdBP xx=10*log10(abs(fft(x n, Nfft).A2)/N);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為f=(0:le ngth( Pxx)-1)*Fs/le ngth( Pxx);% 給出頻率序列subplot(2,1,1),plot(f,Pxx);% 繪制功率譜曲線xlabel(頻率 /Hz);ylabel(功率譜 /dB);title(周期圖 N=256);grid on;Fs=1000;N=1024;Nfft=1024;%數(shù)據(jù)的長度和FFT所用的數(shù)據(jù)長
5、度n=0:N-1;t=n/Fs;%采用的時間序列xn=si n(2*p i*50*t)+2*si n(2* pi*120*t)+ra ndn (1,N);P xx=10*log10(abs(fft(x n, Nfft).A2)/N);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為f=(0:le ngth( Pxx)-1)*Fs/le ngth( Pxx);% 給出頻率序列subplot(2,1,2),plot(f,Pxx);% 繪制功率譜曲線xlabel(頻率 /Hz);ylabel(功率譜 /dB);title(周期圖 N=256);grid on;%用Fourier變換求取信號的功率譜-分段
6、周期圖法%思想:把信號分為重疊或不重疊的小段,對每小段信號序列進行功率譜估計,然后取平均 值作為整個序列的功率譜clf;Fs=1000;N=1024;Nsec=256;%數(shù)據(jù)的長度和 FFT所用的數(shù)據(jù)長度n=0:N-1;t=n/Fs;% 采用的時間序列randn(state,0); xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx1=abs(fft(xn(1:256),Nsec)A2)/Nsec; % 第一段功率譜Pxx2=abs(fft(xn(257:512),Nsec)A2)/Nsec;% 第二段功率譜Pxx3=abs(fft(xn(51
7、3:768),Nsec)A2)/Nsec;% 第三段功率譜Pxx4=abs(fft(xn(769:1024),Nsec)A2)/Nsec;% 第四段功率譜Pxx=10*log10(Pxx1+Pxx2+Pxx3+Pxx4/4);%Fourier 振幅譜平方的平均值,并轉(zhuǎn)化為 dB f=(0:length(Pxx)-1)*Fs/length(Pxx);% 給出頻率序列 subplot(2,1,1),plot(f(1:Nsec/2),Pxx(1:Nsec/2);% 繪制功率譜曲線xlabel(頻率 /Hz);ylabel(功率譜 /dB);title( 平均周期圖(無重疊) N=4*256);gri
8、d on;%運用信號重疊分段估計功率譜Pxx仁abs(ft(xn(1:256),Nsec)A2)/Nsec; % 第一段功率譜第二段功率譜 第三段功率譜 第四段功率譜 第四段功率譜 第四段功率譜P xx2=abs(fft(x n(129:384),Nsec)A2)/Nsec;%P xx3=abs(fft(x n(257:512),Nsec).A2)/Nsec;%P xx4=abs(fft(x n(385:640),Nsec).A2)/Nsec;%P xx5=abs(fft(x n(513:768),Nsec).2)/Nsec;%P xx6=abs(fft(x n(641:896),Nsec)A
9、2)/Nsec;%Pxx7=abs(fft(xn(769:1024),Nsec)A2)/Nsec;% 第四段功率譜Pxx=10*log10(Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7/7);%Fourier 振幅譜平方的平均值, 并轉(zhuǎn)化為 dBf=(0:length(Pxx)-1)*Fs/length(Pxx);% 給出頻率序列 subplot(2,1,2),plot(f(1:Nsec/2),Pxx(1:Nsec/2);% 繪制功率譜曲線 xIabelC 頻率 /Hz);ylabel(功率譜 /dB);title( 平均周期圖(重疊1/2) N=1024);grid
10、on;%用 Fourier 變換求取信號的功率譜 -welch 方法%思想:welch法采用信號重疊分段,加窗函數(shù)和FFT算法等計算一個信號序列的自功率譜(PSD)和兩個信號序列的互功率譜(CSD),采用MATLAB自% 帶的函數(shù) psdclf;Fs=1000;N=1024;Nfft=256;n=0:N-1;t=n/Fs;window=hanning(256);noverlap=128;dflag=none;randn(state,0);xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx=psd(xn,Nfft,Fs,window,noverl
11、ap,dflag);f=(0:Nfft/2)*Fs/Nfft;plot(f,10*log10(Pxx);xlabel(頻率 /Hz);ylabel(功率譜 /dB); title(PSD-Welch 方法);grid on;%功率譜估計 多窗口法( multitaper method ,MTM 法)%思想: 利用多個正交窗口獲得各自獨立的近似功率譜估計,綜合這些得到一個序列的功率譜估計;相對于普通的周期圖有更大的自由度; MTM 法采用一個參數(shù):時間帶2*NW-1 , NW 越大,時間域分NW 的增大%寬積NW,這個參數(shù)用以定義計算功率譜所用窗的數(shù)目為 辨率越高而頻率分辨率越低,使得功率譜估計
12、的波動減小;隨著 %,每次估計中譜泄露增多,總功率譜估計的偏差增大 clf;Fs=1000; N=1024;Nfft=256;n=0:N-1;t=n/Fs;randn(state,0); xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx1,f=pmtm(xn,4,Nfft,Fs); % 此處有問題 subplot(2,1,1),plot(f,10*log10(Pxx1);xlabel(頻率 /Hz);ylabel(功率譜 /dB); title( 多窗口法( MTM )NW=4);grid on;Pxx,f=pmtm(xn,2,Nfft,Fs
13、);subplot(2,1,2),plot(f,10*log10(Pxx);xIabelC 頻率 /Hz);ylabel(功率譜 /dB);title( 多窗口法( MTM )NW=2);grid on;法)rxx(0),rxx(1),rxx(2).rxx(p) 為%功率譜估計 最大熵法( maxmum entmpy method,MEM%思想:假定隨機序列為平穩(wěn)高斯過程利用已知的自相關序列基礎,外推自相關序列 rxx(p+1),rxx(p+2). 保%證信息熵最大clf;Fs=1000;N=1024;Nfft=256;n=0:N-1;t=n/Fs;window=hanning(256);ra
14、ndn(state,0);xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx1,f=pmem(xn,14,Nfft,Fs); % 此處有問題subplot(2,1,1),plot(f,10*log10(Pxx1);xlabel(頻率 /Hz);ylabel(功率譜 /dB);title( 最大熵法( MEM )Order=14);grid on;%采用 Welch 方法估計功率譜noverlap=128;dflag=none;subplot(2,1,2)psd(xn,Nfft,Fs,window,noverlap,dflag);xIabelC 頻率 /Hz);ylabel(功率譜 /dB); title(Welch 方法估計功率譜);grid on;% 功率譜估計-多信號分類法(mult ip le sig nal classificatio n,music 法)%注:適用于白白噪聲中的多正弦波頻率估計求他們%思想:將數(shù)據(jù)自相關矩陣看成是由信號自相關矩陣和噪聲自相關
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度天然氣儲備庫安全運營管理合同
- 二零二五年度工業(yè)設備安裝與調(diào)試服務合同3篇
- 二零二五版快遞企業(yè)快遞物品安全防護合同大全3篇
- 2025年度城市綜合體門頭廣告品牌形象改造合同3篇
- 2025年度拆遷安置房交易全程跟蹤服務合同協(xié)議3篇
- 個人消費性借款合同(2024版)9篇
- 二零二五年度可再生能源發(fā)電特許經(jīng)營合作協(xié)議合同范本
- 二零二五年度醫(yī)療健康信息化運維保障合同2篇
- 2025版商業(yè)物業(yè)安全責任書(含應急預案)3篇
- 2025年度個性化產(chǎn)后恢復與新生兒護理個人月嫂服務協(xié)議4篇
- 《裝配式蒸壓加氣混凝土外墻板保溫系統(tǒng)構造》中
- T-CSTM 01124-2024 油氣管道工程用工廠預制袖管三通
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標)
- 新譯林版高中英語必修二全冊短語匯總
- 基于自適應神經(jīng)網(wǎng)絡模糊推理系統(tǒng)的游客規(guī)模預測研究
- 河道保潔服務投標方案(完整技術標)
- 品管圈(QCC)案例-縮短接臺手術送手術時間
- 精神科病程記錄
- 閱讀理解特訓卷-英語四年級上冊譯林版三起含答案
- 清華大學考博英語歷年真題詳解
- 人教版三年級上冊口算題(全冊完整20份 )
評論
0/150
提交評論