
Blas sgemm Demo Lgf BlasDemo.f95 –blas感謝台大蔡武廷教授http://homepage.ntu.edu.tw/~wttsai/ fortran /ppt/9. ... <看更多>
Search
Blas sgemm Demo Lgf BlasDemo.f95 –blas感謝台大蔡武廷教授http://homepage.ntu.edu.tw/~wttsai/ fortran /ppt/9. ... <看更多>
(Fortran)時間 Jun 28 20:37:39 2023 推噓 9 推:17 噓:8 →:22. PTT評價. 對!我就是說你! ... chunchie 06/28 20:41就跟風說強暴犯的範例. ... <看更多>
Fortran.gitignore · Link a new fortran template to existing c++ one. 9 years ago. Fortran.gitignore · FuelPHP.gitignore · update FuelPHP.gitignore. ... <看更多>
不区分大小写,字符串的里的大小写区分(ASCII码不同); 语句结束时不用添加结束标志; 编译器可取消行宽限制 gfortran -ffree-line-length-none ... ... <看更多>
#1. Fortran95 簡介與範例
為了讓同學們快速方便地認識Fortran 90/95 語法,我們採用前面課中的範例來撰寫90/95 版本。 對Fortran 程式語言完全陌生的同學,可先看「請你跟我這樣做」及「Fortran 兩 ...
Fortran 程式會呼叫包含 f_ 字首的函數,如下列範例所示: call f_hpminit( taskID, "my_program" ) call f_hpmstart( 1, "Do Loop" ) do ... call do_work() call ...
#3. 程式與科學計算– Basic Elements of FORTRAN
What does a FORTRAN program look like (basic structure) ... 範例二. Simple Input/Output (List-directed I/O). INTEGER :: N, O, P, S. READ(*,*) N, O.
#4. Fortran90中之範例模板函數__臺灣博碩士論文知識加值系統
本論文主要是研究如何在Fortran 90 中增加一些物件導向的特性。Fortran 90 本身不具有物件導向的特色,我們想利用Fortran 90 提供的一些特性如模組、指標與界面來實現 ...
四化一甲、乙計算機程式:Fortran 77 語言程式之流程圖範例. 1. *************************************************************.
#6. VISUAL FORTRAN程式設計與開發(附範例光碟) - 博客來
本書以使用CompaqVisualFortran的32位元編譯器進行處理,可配合Windows環境,提供穩定的程式開發工具。 本書附贈範例光碟乙片,豐富且詳盡提供示範案例,可充分掌握視窗 ...
#7. Intel® 數學核心程式 矩陣乘法Fortran 範例與教學
本範例與教學說明如何在應用程式中使用Intel® 數學核心程式(Intel® MKL):. 使用Intel MKL例來乘以對照; 測量矩陣乘法的效能; 執行緒控制. 本教學課程使用Fortran ...
Fortran 77 Language 是比較「傳統」的語言 ... Fortran 90 Dr. Ching-Kuang Shene(冼鏡光教授)上課教材 ... 範例. 尋找浮點數極值範例. Lyu-C++Maximum.pdf ...
範例 一個在標準輸出裝置上輸出Hello World的簡單程式,這種程式通常作為開始學習程式語言時的第一個程式,下面是FORTRAN 77的寫法:.
#10. FORTRAN 程式範例 - 金石堂
書名:FORTRAN 程式範例| 語言:中文繁體| ISBN: | 出版社:正文書局| 作者: | 出版日期:1993/01/01 | 類別:電腦資訊.
#11. Blas sgemm Demo - Lahey軟體教學範例 - YouTube
Blas sgemm Demo Lgf BlasDemo.f95 –blas感謝台大蔡武廷教授http://homepage.ntu.edu.tw/~wttsai/ fortran /ppt/9.
#12. Fortran 95程式設計(附原始程式碼及範例檔) - 隨意窩
8.使用Visual Fortran來寫作Windows圖形介面程式。9.示範IMSL的使用。FORTRAN 90/95主要新增功能如下: 1.自由的寫作格式,不再受限於 ...
#13. Fortran 90/95與視覺化程式設計 - 逸奇科技
由於 Fortran 是最早出現的高階程式語言且是專門用來解決科學與工程上的問題,故 ... o 本書是針對 Fortran 90/95 的使用者提供的入門書,透過完整的範例教學讓讀者 ...
#14. Intel Parallel Studio XE Composer Edition for Fortran 福傳編譯 ...
教學範例檔. 中文安裝手冊. 永久授權. 中文型錄. 英文型錄. 安裝序號. 網路啟動. 原廠光碟. 合法保證. 64 Bit. 電子英文手冊. 多核心. 認證檔. ESD網路下載.
#15. fortran 程式- 比價撿便宜- 優惠與推薦- 2023年6月
還有fortran 95、收錄蝦皮、雅虎、露天熱賣商品,比價撿便宜讓您方便比價的好夥伴。 ... VISUAL FORTRAN程式設計與開發(附範例光碟)(10405007) 張嘉強、陳鴻智著全 ...
#16. 開啟直接讀取檔時 - ForTran教材
範例. opening a file for input. opening a file for output. < Ex. 程式片段> ... 範例. read the values of variables x, y and z from the file “input.dat”.
#17. 運算錯誤M6201
範例. 複製. result = sqrt(-1.0) // C statement result = SQRT(-1.0) ! FORTRAN statement. 這個錯誤會 _matherr 使用函式名稱、其引數和錯誤類型來 ...
#18. Fortran 95程式設計(附原始程式碼及範例檔) - 蝦皮購物
循序漸近,由淺入深來學習FORTRAN程式設計。 2. ... 詳細介紹Visual Fortran的開發環境,示範除錯工具的使用。 8. ... 購買Fortran 95程式設計(附原始程式碼及範例檔)
#19. Fortran 程式的價格推薦- 2023年6月| 比價比個夠BigGo
fortran 程式價格推薦共168筆商品。 ... 【書寶二手書T1/電腦_J8V】Fortran 95程式設計_ ... VISUAL FORTRAN程式設計與開發(附範例光碟) 作者:張嘉強、陳鴻智.
#20. 網路視訊資源 - 李明憲老師教學網站
虛擬機器自解壓檔( · 使用虛擬機器、vi、Fortran 編譯( · Fortran 兩小時快速入門( · pgplot 基本繪圖( · pgplot 動畫範例( · free-fall_simple ( · 空氣阻力的說明( · 三階段由簡 ...
#21. Fortran程式的價格推薦- 飛比2023年06月即時比價
Fortran 程式價格推薦共78筆。另有fortran程式語言、for translation、for traxxas。飛比為你即時比價, ... VISUAL FORTRAN程式設計與開發(附範例光碟)(10405007).
#22. 控制結構結構化程式設計 - 林偉川
範例. 底下的C程式會讓變數X之值為何?3 if (((3>2) && (2<2))∣∣(5==6)∣∣((5>4) && 3)) x=3; else x=4;. 底下的Fortran程式,變數New,Nand之值為何?8,8.
#23. 在NCL中使用Fortran 副程式 - 首頁
Fortran 77 與Fortran 90 的用法稍有不同,. 以下先以Fortran 77 為範例說明:. 步驟1: NCL 以" C ...
#24. 【暢銷書】Fortran 95程式設計(附原始程式碼及範例檔)[Fortran ...
Fortran 95程式設計(附原始程式碼及範例檔)[Fortran 95 Cheng Shi She Ji ( Fu Yuan Shi Cheng Shi Ma Ji Fan Li Dang...]
#25. 計算機程式Fortran 77 語言張基昇製作. - SlidePlayer
目錄計算機程式課程實施方式四化一甲乙計算機程式課程概述規劃學習項目Fortran 程式語言講義Fortran 程式範例.
#26. 宣布NVIDIA HPC SDK - NVIDIA 台灣官方部落格
NVIDIA Fortran , C 和C ++編譯器不僅是首批啟用GPU 加速標準平行語言結構的編譯器,而且還支持使用GPU 加速的數學函式庫為異構CPU + GPU 服務器移植, ...
#27. Fortran do迴圈結構 - tw511教學網
直到條件為假,迴圈終止。 Do Loop. 範例1. 這個例子將輸出數位11到20: program printNum implicit none ...
#28. Linux 32- 64bit 環境內安裝PGI Workstation 軟體 - 瑋凌科技
cd /tmp/pgi 此範例為將解壓縮完的部分移到/tmp/pgi資料夾底下. 3. 開始安裝:. #./install ... 試著編寫一段Fortran 程式test.f 驗證安裝過程無誤:. # vi test.f.
#29. 月薪3萬以上|Fortran|Python】職缺- 2023年5月熱門工作機會
幸福企業徵人【生物理工|月薪3萬以上|Fortran|Python工作】資料科學工程師、遊戲數值企劃、遊戲機率工程師等熱門工作急徵。1111人力銀行網羅眾多知名企業職缺, ...
#30. C語言程式設計研習課程--高瞻系列
範例 一:求圓周長及面積 (circle.c) (執行檔) ... 範例二:計算一元二次方程式的兩個根 (root.c) (執行檔) ... 程式範例…(包含:Fortran, Matlab, IDL 語言所寫程式) 下載.
#31. Fortran95简介-全文版-编程作图 - 气象家园
FORTRAN 的起源,要追溯到1954年IBM公司的一項計畫。 ... 範例中還有另一個指令STOP,STOP是終止程式的意思,它可以出現在程式的任何地方,程式執行到 ...
#32. VISUAL FORTRAN程式設計與開發(附範例光碟) - 張嘉強
VISUAL FORTRAN程式設計與開發(附範例光碟)》 - 張嘉強/陳鴻智- <內容簡介>本書內容係依照VisualFortran在工程計算上的應用所設計,可引領使用者快速跨入視窗世界 ...
#33. 電子物理學系碩士論文 - 國立交通大學機構典藏
the code in the Fortran program is how to perform. ... 圖2.3.1.4 一般Fortran 修改成CUDA Fortran 迴圈範例:詳細說明請參考附錄B.
#34. Fortran筆記 - Language
提供Fortran學習筆記,紀錄一些有趣的用法. ... Fortran筆記: ... 用字元寫出BondTyp,但是在寫出的namelist裡(如範例資料),BondTyp =3,這會導致 ...
#35. 淺談NVIDIA GPU與CUDA技術| 多采科技/ 多采工程
... 最後以Fortran與CUDA Fortran副程式說明如何開發第一支CUDA應用程式。 ... C Compiler)編譯器與函式庫的CUDA Toolkit [4]與包含許多範例程式的CUDA SDK。
#36. Fortran 95程式設計(附原始程式碼及範例檔)
作者:彭國倫/著出版社:碁峰出版日期:台灣 按我瀏覽更多相關資訊 1.循序漸近,由淺入深來學習FORTRAN程式設計。2.非翻譯書,以國人習慣語法寫作。3.
#37. 儒林圖書電子書店- [電腦C...] 區
書號 書名 作者/譯者 價格 書籍簡介 SIM‑077 看實例學RM∕COBOL 若水工作室 200 簡介 SIM‑2252 FORTRAN程式語言(精簡本) 冼鏡光 330 SIM‑511 FORTRAN與視窗程式設計 黃逸萍,黃小萍 500
#38. 輸出binary 檔案格式:跨平台應用 - NCL 學習日誌
本篇會示範NCL - Fortran - Matlab 三者間如何互相讀寫檔案(傳送資料)。 ... 但是在NCL 中,範例中即顯示無論是sequential 或direct 的存取都需要指定 ...
#39. [Fortran 95程式設計(附原始程式碼及範例檔)]推薦購買
好書推薦-Fortran 95程式設計(附原始程式碼及範例檔) 網友評鑑5顆星買過的朋友都說物超所值博客來電腦資訊-程式設計分類評比好書定價:580元優惠 ...
#40. 零基础用范例学Fortran 9095(2019年7月升级版) - BiliBili
统计学生期中期末成绩--零基础用 范例 学 Fortran 9095(2019年7月升级版). 25.使用别人的程序、include与多源文件编译--零.
#41. (PPT) 計算機程式Fortran 77 語言 - DOKUMEN.TIPS
DESCRIPTION. 計算機程式Fortran 77 語言. 張基昇製作. 目錄. 計算機程式課程實施方式四化一甲乙計算機程式課程概述規劃學習項目Fortran 程式語言講義Fortran 程式範例 ...
#42. 迴圈範例
寫一程式輸入5個整數數字,計算其總合和平均。解析: 需要1個變數儲存輸入的數字,稱此變數為inputNum好了; 需要1個變數紀錄到目前為止所有inputNum的總和,稱此變數為sum, ...
#43. 研碩學員可享有之肯定與優惠: - 博盛數碼動力股份有限公司
許多常見的高效能運算套件最初都是以Fortran 程式語言所開發,GPU 計算 ... 優勢,一步步帶領您輕鬆解決以往Fortran 運算時間太長的問題,在範例的介.
#44. Fortran入门【1】示例Hello, World 原创 - CSDN博客
Fortran 基础示例_fortran简单编程例子. ... Fortran 初级程序经典范例,适合初学者 ... 热门推荐 Fortran简介及第一个程序hello world!
#45. Best Practices for Efficient CUDA Fortran Programming ... - 天瓏
書名:CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming (Paperback),ISBN:0124169708,作者:Gregory Ruetsch, ...
#46. SPICE的歷史- 電子小百科- Electronics Trivia | 羅姆半導體集團
現在大家所使用的商用SPICE模擬器,是以SPICE2G.6為基礎,以C語言編寫。 年份, SPICE版本, 語言. 1973年, SPICE, FORTRAN. 1975年, SPICE 2, FORTRAN. 1981 ...
#47. 巨集 - iT 邦幫忙::一起幫忙解決難題,拯救IT 人的一天- iThome
授人以Fortran 得Fortran, ... 範例中的運算式產生了一個列表,內容爲符號 + 以及1 與2。 ... 以上範例利用巨集來讀取以中置表示法寫成的形式,並求值之。
#48. Fortran 95程式設計(附原始程式碼及範例檔)[Fortran 95 Cheng ...
Fortran 95程式設計(附原始程式碼及範例檔)[Fortran 95 Cheng Shi She Ji ( Fu Yuan Shi Cheng Shi Ma Ji Fan Li Dang...]
#49. 第八章函數(函式)
8.1 簡單的函數範例. 函數(function, 函式) ... add() 函數的使用範例: ... 這是個fortran 的程式, 語法雖然不熟悉, 但是要你看的是. 它在main 之前的主要是全域變數 ...
#50. 遞迴函數呼叫的範例 - Fortran 學習
利用遞迴的方式來解決問題,是非常直接方便快速的一種解題方法。 遞迴的缺點是:會增加電腦的負荷, 使程式變慢。 但是,目前的PC 已經足過快速,所以 ...
#51. Fortran 之基本規定
對於變數的規定是變數的第一個字母為英文字母,其長度最長為6個字,除剛剛說的第一個字之外,其餘的可為數字或字母,以下為幾個簡單範例: Integer count,pg1
#52. 程式編譯與安裝 - 化生系409實驗室
需要事先安裝(1) Intel Compiler (需要Fortran 與C compiler ) Intel compiler ... 需要用vim修改 i386.make、set-mflags 與 mdutil.c三個檔案,修改的範例如 ...
#53. [心得] 在FORTRAN呼叫MATLAB的函數(64位元) - 批踢踢實業坊
MATLAB雖然有內建FORTRAN呼叫MATLAB的範例程式碼, 但是那是使用FORTRAN77寫成的。 也許很懂程式設計的人不用什麼教學就知道該怎麼設定,但是我想還是 ...
#54. Fortran 95程式設計(附原始程式碼及範例檔)
什麼網頁遊戲最好玩?書名:Fortran 95程式設計(附原始程式碼及範例檔)語言:繁體中文ISBN:9575669592頁數:684出版社:碁峰作者:彭國倫出版 ...
#55. 【書籍】Fortran 95程式設計(附原始程式碼及範例檔)[Fortran ...
Fortran 95程式設計(附原始程式碼及範例檔)[Fortran 95 Cheng Shi She Ji ( Fu Yuan Shi Cheng Shi Ma Ji Fan Li Dang...]
#56. 「+Fortran」人才履歷| CakeResume 找人才
搜尋「+fortran」人才。CakeResume 人才社群擁有數百萬活躍人才。透過薪資、職稱、產業、地點篩選履歷,主動聯繫潛在人選。
#57. Visual Fortran程式設計與開發(附光碟) | 誠品線上
财本書以使用Compaq Visual Fortran的32位元編譯器進行處理,可配合Windows環境,提供穩定的程式開發工具。财本書附贈範例光碟乙片,豐富且詳盡提供示範案例,可充分 ...
#58. 3大前端語言,前端工程師學會其中之一,不怕沒工作! - Glints
能夠輕易的以C/C++、Fortran撰寫高效率的模組,容易擴充。 ... 面試優缺點: 要怎麼回覆?10種回答範例與3大原則,精準掌握人資喜好.
#59. 好書推薦-VISUAL FORTRAN程式設計與開發(附範例光碟)
VISUAL FORTRAN程式設計與開發(附範例光碟)限量搶購我朋友前幾天買了覺得很滿意喔博客來專業及教科書及政府出版品-電機資訊類分類熱銷書籍定價:400元 ...
#60. [Fortran 95程式設計(附原始程式碼及範例檔)]哪裡買便宜?
經典款式Fortran 95程式設計(附原始程式碼及範例檔) 網友評鑑4.5顆星站長最近閱讀過感覺很實用在此推薦給您博客來電腦資訊-程式設計分類新書上市定價:580元優惠價:79 ...
#61. CUDA Fortran 程式設計課程 - 鴻鵠國際
許多常見的高效能運算套件最初都是以Fortran程式語言所開發,GPU計算亦 ... Fortran的優勢,一步步帶領您輕鬆解決以往Fortran運算時間太長的問題,在範例的介紹及上機 ...
#62. 2-5 M 檔案
接著我們要用cd 指令來進入我們的範例檔案myTest.m 所在的目錄: ... Arguments)來傳遞資訊,這就像是C 語言的函數,或是FORTRAN 語言的副程序(Subroutines)。
#63. 檔案的輸入輸出
以下是助教給的範例(當然對我這第一次接觸程式的人我當然是不懂他在說啥= =) ... write(fid,x,'(f10.2 f10.3 f10.4 f10.5)'); // 注意, 這裡使用的是Fortran 的format
#64. FORTRAN 程式語言- TAAZE 讀冊生活
FORTRAN 程式語言. 冼鏡光. N/A. 9789574995707.
#65. 實現自己的材料庫 Abaqus UMAT於計算力學之應用
... 章Fortran語法簡介2.1 Fortran概述2.2 寫作格式2.3 程式架構2.4 宣告2.5 輸入與輸出2.6 數學運算2.7 邏輯運算2.8 流程控制2.9 迴圈2.10 矩陣的運算與使用範例2.11 ...
#66. 自由軟體與簡易型電腦在物理教學上的運用
(Maxima[5])、和程式編譯工具(GNU C,. Fortran)。我們也正在配合不同年級課程之. 內容與需要,建立一些教學文件與範例程式. 或命令集範本,供老師及同學們使用。
#67. NCHC Taiwania HPC系統使用者操作說明
PBS PRO Job操作. ▫ 平行程式範例 ... compile/link C 、C++、Fortran程式 ... mpirun option練習範例(GCC OpenMPI). $ vim ~/.bashrc. # .bashrc.
#68. Fortran 簡介
福傳(英語︰Fortran),源自於「公式翻譯」(英語:. Formula Translation)的縮寫,是一種程式語言。1957. 年由IBM開發出,是世界上第一個被正式採用 ...
#69. Autocomplete - jQuery UI
"Fortran",. "Groovy",. "Haskell",. "Java",. "JavaScript",. "Lisp",. "Perl",. "PHP",. "Python",. "Ruby",. "Scala",. "Scheme". ]; $( "#tags" ).autocomplete({.
#70. Compiler Explorer
Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.
(Fortran)時間 Jun 28 20:37:39 2023 推噓 9 推:17 噓:8 →:22. PTT評價. 對!我就是說你! ... chunchie 06/28 20:41就跟風說強暴犯的範例.
#72. A collection of useful .gitignore templates - GitHub
Fortran.gitignore · Link a new fortran template to existing c++ one. 9 years ago. Fortran.gitignore · FuelPHP.gitignore · update FuelPHP.gitignore.
#73. Fortran - Chapter 5 迴圈
Fortran. Chapter 5 迴圈. 5-1 Do. 使用時機:連續重複執行某一段程式碼時。 Example: Program ex0601 implicit none integer :: I integer, parameter :: N=10.
#74. Online Compiler and Editor/IDE for Java, C/C++, PHP, Python ...
is a free Online Compiler, Editor, IDE for Java, C, C++, PHP, Perl, Python, Ruby. Code Online - Share Save Java/C/C++/Perl/Python/Ruby online.
#75. G125-MC13405L0-9999M - Datasheet - 电子工程世界
并行代数多重网格算法的fortran! 智能风扇调速系统电路原理图 · Agilent万用表用VB写的串口RS232来控制的例子 · 全新模板及项目范例加速创新---LabVIEW 2012新特性 ...
#76. How Programming Affects Your Brain 3 Big Truths According ...
I started with C. Those older than me likely started with FORTRAN, , or BASIC. As for you newer folks? You likely started on Java or Python.
#77. Fortran基本語法 - 極客書
Fortran 程序是由程序單元,如一個主程序,模塊和外部子程序或程序的集合。 每個程序包括一個主程序和可以或可以不包含其它程序單元。主程序的語法如下: program ...
#78. 世上第一個高階語言Fortran:簡化編程過程讓用家更易入門
在同年4月20日星期五的下午,一位IBM軟體工程師決定在電廠內編譯第一支FORTRAN程式,當程式碼輸入後,經過編譯後,印表機列出很多編程員都曾面對過的一行 ...
#79. 跨領域物理視算: 力學與電磁系統之視覺化、模擬與平行運算
... 提供繪圖程式繪製直方圖的範例 Subroutine;使用這些程式庫內的 Subroutine 時,可分別查閱 Visual Fortran Online Documentation、Visual Fortran IMSL Fortran 90 ...
#80. 量化研究與統計分析-SPSS中文視窗版資料分析範例解析(附光碟)
早期社會與行為科學研究者,多學習 BASIC 與 FORTRAN 兩種語言,前者是一種為初學者可能使用的各種用途提供各種符號指令,使電腦外行人也能夠創作自己的程式, ...
#81. 計算機概論 - 第 9-4 頁 - Google 圖書結果
FORTRAN 第一個高階語言是IBM公司於1957年左右推出來的FORTRAN(FORmula ... 下面的LISP 範例,前3 行首先定義一個函數叫作“length ”,該函數計算一個串列(list)內包含幾 ...
#82. 實現自己的材料庫: Abaqus UMAT於計算力學之應用
本章主要針對缺乏Fortran使用經驗的讀者,介紹編寫UMAT所需具備之Fortran 基礎知識,包括寫作格式、架構、宣告、輸入與輸出、運算子、邏輯判斷與迴圈等常用的語法與範例 ...
#83. 计算机科学技术百科全书 - 第 1066 頁 - Google 圖書結果
... 技术的一个范例。例如, FORTRAN 函数 ABS ( X )的值为变元 X 的绝对值,编译程序通常按开式子例程实现,这是因为它只需要两条机器语言指令便可完成: CADDL ( X )清 ...
#84. C++程式設計(第三版)(電子書) - 第 vi 頁 - Google 圖書結果
第四篇「數值運算的應用」,我們使用 C++ 以實際的範例來處理最佳化問題和常微分 ... 對於需要耗費大量時間的數值問題,最通常的情況是使用 C、FORTRAN 或是 MATLAB。
#85. 頂尖程式設計師的思考方式: - 第 246 頁 - Google 圖書結果
範例 l4-1 :簡單版本(MATLAB 撰瑪) (績) p([k m]) = p([m k]),毫置換'p'的 ka 項 ... an 是科學計算的語言〝Fortran 以「行」的方式儲存二維陣列唯以矩陣內「列」的 ...
#86. 基础知识 - Fortran 从入门到实践
和C、C++ 语言比较类似,Fortran 代码也是通过编译执行。比如对如下所示的示例代码执行 gfortran code_name.f90 -o code_name 即可生成可执行程序 ...
#87. Fortran 学习笔记 - cndaqiang
不区分大小写,字符串的里的大小写区分(ASCII码不同); 语句结束时不用添加结束标志; 编译器可取消行宽限制 gfortran -ffree-line-length-none ...
fortran範例 在 [心得] 在FORTRAN呼叫MATLAB的函數(64位元) - 批踢踢實業坊 的推薦與評價
前言:(都是廢話~可以跳過XD)
MATLAB提供了向外窗口給C語言及FORTRAN語言,使得這兩種語言可以直接調動MATLAB的函
數來使用,C/MATLAB混編的教學很多,但關於FORTRAN/MATLAB,台灣用FORTRAN的本來就
少,而專精FORTRAN的人也有他們自己的一套系統,譬如TecPlot以及很多免費的FORTRAN
繪圖函數庫,所以其實真正有教怎麼用FORTRAN呼叫MATLAB函數的中文教學很少,尤其是
針對不同編譯器的設定上,最常找到的教學是CVF編譯32位元程式的設定,而IVF幾乎沒有
中文的,英文的又閱讀的很辛苦。MATLAB雖然有內建FORTRAN呼叫MATLAB的範例程式碼,
但是那是使用FORTRAN77寫成的。
也許很懂程式設計的人不用什麼教學就知道該怎麼設定,但是我想還是有很多研究生跟
我一樣上研究所才開始學程式,所以除了會寫CODE外,很多關於編譯器方面該怎麼設定也
都一知半解,尤其現在IVF跟經典教科書使用的CVF已經長得不太一樣了,所以我終於成功
能夠在FORTRAN程式呼叫MATLAB的一些函數後,想說放到網路上讓有需要使用到MATLAB及
FORTRAN的苦命菸酒生們參考如何設定。
其實大部分都是網路上東蒐集一點西蒐集一點最後整理出來的東西,而我主要是針對如何
設定及一些該注意的地方來分享,至於詳細的語法,我想有空再說吧,而且語法方面其實
都是由MATLAB提供的,所以可以參考C怎麼呼叫MATLAB函數。或是GOOGLE '調用MATLAB計
算引擎',也可以找到關於語法上的介紹。
編譯一個有呼叫到MATLAB的FORTRAN原始碼有兩種方法:
(MATLAB跟FORTRAN編譯器都必須安裝)
1.使用MATLAB編譯,這個最簡單,幾乎不用設定,但是MATLAB只能懂FIX格式(77)的
FORTRAN,要讀FREE格式的,必須要在某個.bat檔裡面去修改,在此不去說明,因為
我想應該也沒人用FORTRAN寫了一個程式後還特地使用MATLAB編譯吧...
(這方法需要MATLAB能辨別出使用的FORTRAN編譯器,但似乎MATLAB只認識CVF跟IVF,
其他如PGI等等其他廠牌編譯器他都不認得)
2.使用FORTRAN的編譯器去編譯,我想菸酒生們大部分應該都是使用WINDOW系統,所以下
面講的也是這個方法。會用LINUX的人都是專業的,我想應該他們都會這些了~囧
3.把MATLAB的函式庫編譯成.dll,不過這太專業了,實際上怎麼做我也不懂,我只知道
這方法可以讓程式在沒安裝MATLAB的電腦上執行。
正文:
首先是我的操作環境,我想如果操作環境不同,可能也會有些不同,所以有可以依照操
作環境不同來調整設定方式:
作業系統:Windows 7 64位元
MATLAB版本:R2010a 64位元
安裝路徑C:\Program Files\MATLAB\R2010a
FORTRAN編譯器:Intel Visual Fortran 11 使用IDE介面
IDE介面是用Microsoft Visual Studio 2008
編譯組態: Debug x64
前置作業:
1.設定Win7環境變數:
控制台->系統及安全性->系統->進階系統設定->環境變數
出現的頁面會有上下兩大區塊,在下方的系統變數區塊中的變數欄尋找PATH這
項,點選後按下方的編輯鈕,在變數值那欄應該已經有很多路徑了,在最後加
上";",然後再加上下面這個路徑
C:\Program Files\MATLAB\R2010a\bin\win64
一直按確定關掉所有頁面後,重新開機(一定要重新開機!)
(若程式可以編譯,但執行時卻會出現找不到XXX.dll,通常都這步驟的問題)
2.設置專案屬性:
開啟會使用到MATLAB計算引擎的FORTRAN專案,記得組態要改成x64,至於是
Debug或Release我想都沒差。
(若組態是win32,我不確定能不能呼叫64位元的MATLAB)
a.專案->屬性->FORTRAN->GENERAL,在Additional Include Directories那欄
填上C:\Program Files\MATLAB\R2010a\extern\include
b.專案->屬性->FORTRAN->PREPROCESSOR,在Preprocess Source Files那欄
選擇YES
(這步驟重要~我卡很久後才知道要做這步驟)
c.專案->屬性->LINKER->GENERAL,在Additional Library Directories那欄
填上C:\Program Files\MATLAB\R2010a\extern\lib\win64\microsoft
d.專案->屬性->LINKER->INPUT,在Additional Dependencies那一欄填上
libmx.lib libmat.lib libeng.lib
確定,關掉屬性視窗。
(對於a、c、d若是不想針對特定專案,而是所有專案都可以呼叫MATLAB,可從
工具->選項裡去設定,請自行找編譯器教學......)
3.在程式碼最開頭加上 #INCLUDE "fintrf.h"
4.接著就可以用MATLAB針對FORTRAN呼叫MATLAB計算引擎的一些特定函數來寫程
式,跟在C裡呼叫的方式差不多,我個人是覺得必須要有指標的觀念才行,才
比較好懂跟自行運用。
因為這篇主要是針對64位元作業系統及64位元程式的設定及需要注意的事項
,所以關於語法請自行參考MATLAB的說明。
以一個在FORTRAN程式呼叫MATLAB畫圖的程式碼為例,前面數字為行號:
(若要把行號也寫進程式碼的話,記得#INCLUDE "fintrf.h"這行不能加行號)
#INCLUDE "fintrf.h"
1 PROGRAM main
2 IMPLICIT NONE
3 INTEGER*8,EXTERNAL:: engOpen,engClose,mxCreateDoubleMatrix
4 INTEGER*8,EXTERNAL:: mxGetPr,engPutVariable,engEvalString
5 INTEGER*8::ep,T,status
6 INTEGER*8::i,j,k
7 REAL*8::nodes(2,400)
8 DO i=1,400
9 nodes(1,i)=2d0*3.1415926/400d0*DBLE(i)
10 ENDDO
11 CALL RANDOM_SEED()
12 CALL RANDOM_NUMBER( nodes(2,:) )
13 nodes(2,:)=nodes(2,:)*2d0-1d0
14 i=2
15 j=400
16 k=0
17 ep=engOpen(' ')
18 T=mxCreateDoubleMatrix(i,j,k)
19 CALL mxCopyReal8toPtr(nodes,mxGetPr(T),2*400)
20 status=engPutVariable(ep,'voronoi_nodes',T)
21 status=engEvalString(ep,'for i=1:1:400, &
plot(voronoi_nodes(1,i),voronoi_nodes(2,i),''*''); &
hold on; &
end')
22 status=engEvalString(ep,'axis equal')
23 status=engEvalString(ep,'axis([0,2*3.1415926,-1.1,1.1])')
24 CALL mxDestroyArray(T)
25 PAUSE '按任意鍵結束'
26 status = engClose(ep)
27 END PROGRAM main
如果程式碼正確執行,應該會出現一張用MATLAB畫的圖,上面很多*號....
如圖https://ppt.cc/Jbsq
注意:
1.在64位元下,MATLAB的整數是8 bytes的資料型態,所以第3、4、5行可以看到
他們被宣告成8 bytes整數,第3、4行是呼叫MATLAB以及與MATLAB做資料交換
要用到的MATLAB引擎函數,簡單說就是FORTRAN與MATLAB溝通的橋樑,功能請自
行參考MATLAB的HELP,而第5行雖然不是宣告成指標變數,但其實它們的功用很
類似於指標。
2.(這點是我自己猜測的) 有些MATLAB的引擎函數是類似於傳址型態,而不能傳
值,所以像第18行的T=mxCreateDoubleMatrix(i,j,k),功能是在記憶體中
ALLOCATE一塊空間用來存放2*400的陣列,而k=0則表示此陣列都是純實數。
理論上應該寫成T=mxCreateDoubleMatrix(2,400,0)也可以(一些C語言的範例
好像也是這樣寫),但實際上會發現無法ALLOCATE,無法ALLOCATE時T會回傳0
,所以要先令i=2,j=400,k=0,然後寫成T=mxCreateDoubleMatrix(i,j,k)才
能ALLOCATE成功。原因只是我自己的猜測,真正的原因我也不清楚。總之遇到
這種MATLAB引擎指令可用回傳的值為多少來判斷是否執行成功,若執行成功,
回傳的為一個非0值,因為回傳的是類似於記憶體位置的資料(指標),若執行
失敗,會回傳0,可以依此點來判斷MATLAB引擎指令有沒有成功被執行。
3.為了避免混亂,所以我沒加上判斷MATLAB指令是否成功執行的語句。
4.有時候雖然成功執行指令,但其實只是說成功把東西從FORTRAN傳送到MATLAB
,而MATLAB那邊若是語法錯誤,FORTRAN這邊卻不會知道(不像直接操作
MATLAB時,若語法錯誤會出現錯誤訊息),所以跑出來的結果不一定會正確。
以上,以後畫圖就不用再另外輸出數據,然後再打開MATLAB讀入數據來畫了
除了畫圖外,我想MATLAB還有很多東西可以被FORTRAN拿來使用
像我研究這個也不是因為要畫圖,其實我是要使用MATLAB內建的建Delaunay三角形的函數
因為FORTRAN的建Delaunay三角形程式碼都是外國人寫的,使用教學都英文,根本看不懂
怎麼用,所以我才會把主意打到MATLAB上。我想有些人應該跟我一樣,雖然FORTRAN資源
豐富,但是卻因為看不懂英文所以不會使用=..=
我不是專門玩程式的人,只是因為研究所需要才開始學寫程式
所以如果有什麼東西是本來就該知道的基礎知識而我不知道,請見諒>//////<
希望有多點人一起玩玩看,不要輸給C/C++了XDDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.46.73
※ 編輯: callmei 來自: 140.112.46.73 (05/14 22:41)
... <看更多>