關於fortran語言程式設計的問題求高手幫忙急

2021-10-30 04:53:41 字數 964 閱讀 8218

1樓:匿名使用者

如果資料很多的話,一行一個看起來不太划算,可以記錄一個,然後空格。(不過實際上如果只是為了讀取的話,一行一個也沒什麼不行的)

關於找峰值,我沒有做訊號處理的經驗,不過大致可以想一個演算法如下:

序列a,b,c,d,e(整數),用a與b比較,得到一個true或false的布林變數bool1,然後用b和c比較,得到第二個布林變數bool2,如果bool1和bool2一致的話,說明b不是峰值,接著往下比較,用c和d比較的結果bool3替換bool1,以此類推。

如果不一致的話,b就是峰值,輸出b在陣列中的位置,然後找到第二個峰值後,相減,得到間隔t。

如果考慮相等的情況的話,可以把等於的if語句放在大小比較之前,如果true的話,就直接跳到下一步比較,而這一步的布林變數可以不用管,知道下一步比較出現不等於的情況就來更新這個布林變數。

具體程式還是自己編吧,這也是一種鍛鍊~祝好運

2樓:匿名使用者

open(unit=1,file='訊號值')do i=1,a_max !a_max為訊號值的個數read(1,*), a(i) !讀入訊號值enddo

這是將資料讀入程式中,下面要找每個峰值的話,我建議可以分段找,比方說將所有的值分成a_max/8段(8是根據週期預估的值)。在每一段裡找最大值的話就可以採用下面的程式了

temp=0.

do i=1,a_max/8 !a_max為訊號值的個數if(a(i)>temp) then temp=a(i)write(*,*) temp,i !temp為該段中的最大值,i為最大值的位置

endif

enddo

希望能對你有幫助吧 。

一個fortran語言程式的問題,計算流體力學相關~很急

3樓:匿名使用者

nnod在最初給的值是不是給小了,陣列溢位了,迴圈的時候哪個迴圈次數超陣列最大容量了

關於C語言的程式設計問題

假設p 甲是盜竊者 q 乙是盜竊者 r 丙是盜竊者 s 丁是盜竊者 已知這四人中每人要麼是誠實的,要麼總是說謊的。q s q r p q 又四人當中僅有一名是竊賊,所以,真命題必在q,s中,且必在q,r中,且必在q,p中。所以,q為真命題,即乙是盜竊者。main printf 是盜竊者 n getc...

Java程式語言的Java程式語言 構成

計算機語言,物件導向程式設計 是的!就是通用的意思 手機軟體格式!支援就可以下一些遊戲耍!gui 是 graphical user inte ce 的縮寫,即 圖形使用者介面 在傳統的作業系統 ms dos 文字模式下,螢幕上顯示的是單調的文字介面,使用者必須透過鍵盤輸入指令,才能操作計算機。麻煩的...

物件導向的程式語言有哪些,物件導向程式設計語言有哪些?

物件導向程式設計語言,有很多,如 visual baisic,visual c visual foxpro等。這個我也不知道,我不是專業人士,可以向專業人士諮詢一下了解一下具體情況 第一個物件導向的程式設計語言是什麼?simula 67語言 以下資料來自危機百科,希望對你有些幫助 電腦科學中物件和例...