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

時間 2021-10-30 04:52:52

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在最初給的值是不是給小了,陣列溢位了,迴圈的時候哪個迴圈次數超陣列最大容量了

問 程式設計的語言有哪些,計算機有哪些程式語言?

對於一些特殊的軟體也有一些特有的程式設計軟體,如matlab,其方法與c語言相似,再如石油勘探中的forword軟體,用的是fortran語言。這些語言的基礎都是c語言,學好c語言就能很快的熟悉其他語言。c語言是基礎語言。然後衍生的是c 還有vb jaya c html等等 計算機程式語言有哪些種類...

C語言程式設計,關於getchar

我讀入乙個字元 明白 了 輸出ascii碼 加1 和ascii碼減一的就可以了 include int main 主要是看不懂題目什麼意思。c語言裡getchar 是什麼 c語言 getchar函式的用法 c語言裡的getchar 怎麼用?c語言中getchar 的用法 是這樣的,你要進行下面的程式...

C語言程式設計,c語言的程式設計

諮詢記錄 於2021 04 30 和安裝編譯器。c語言需要通過編譯器解釋為計算機可以理解的機器碼。編譯器通常是免費的,不同的作業系統上一般使用不同的編譯器。2.理解基本概念。c語言是一門古老的語言,但卻十分強大。它最初是為unix作業系統設計的,但後來被移植到了幾乎所有的作業系統上。3.檢視一些基本...