線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:6159
推到 Plurk!
推到 Facebook!

MATLAB 程式設計與應用

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-16 04:15:51 IP:61.70.xxx.xxx 未訂閱
http://www.4book.com.tw/PublisherBookPage/ShowPublisherSingleBookPage.hi?SSN=1030&XYZ=1024 MATLAB 程式設計與應用 作者 / 張智星 初版 / 2000 年 2 月 / 520 頁 / 平裝 / 附光碟 清蔚科技 出版 定價 / 600 元 非會員 570 元 會員 540 元 發表人 - jackkcg 於 2002/09/16 04:16:54
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-16 07:39:35 IP:211.23.xxx.xxx 未訂閱
借問MATLAB是什麼? @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
phototin
初階會員


發表:13
回覆:30
積分:29
註冊:2002-06-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-16 23:39:18 IP:61.216.xxx.xxx 未訂閱
Matlab 交談式矩陣計算語言 --------------------------------------------------------------------- 為一直覺式語言及高科技運算環境, 提供核心數學運算能力與進階的圖形工具, 幫助完成資料分析、資料視覺化,以及演算法與應用程式的設計。 全世界有超過40萬的設計工程師與科學家們, 使用MATLAB環境解決其數學、統計、工程研發等高科技運算問題。 主要功能:線性代數、高速運算邏輯能力、廣泛數學功能、 資料分析、二維及三維繪圖、第四代程式語言、 可C與Fortran或做動態連接、物件導向語法、 處理微分方程式之各種演算。
asupeduer
初階會員


發表:36
回覆:49
積分:27
註冊:2002-11-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-03 12:38:35 IP:61.13.xxx.xxx 未訂閱
我也看過這本書好幾次,但總覺得不得其門而入 前輩有什麼建議嗎? 因為我不是唸理工出身的 //------------------------------------------------ 我常在想,寫程式跟爬格子到底有什麼不同呢??????????? //------------------------------------------------
------
//------------------------------------------------
我常在想,寫程式跟爬格子到底有什麼不同呢???????????
//------------------------------------------------
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-04 02:05:35 IP:61.64.xxx.xxx 未訂閱
phototin 大大說的沒錯     MATLAB 程式設計與應用 應該是第四代語言 目前使用於 硬體 繪畫 航空 實驗室 通信信號 等 台灣此相關資料很少 大陸比較多啦     **********************************************************************    http://gbyang.4y.com.cn/matcom1.htm    Matcom:Matlab與C++結合的有效途徑 Word檔    http://delphi.ktop.com.tw/loadfile.php?TOPICID=7359895&CC=164605 ********************************************************************** 轉貼(C++Builder調用Matlab的實現方法)參考 ********************************************************************** http://gbyang.4y.com.cn/matlabc.htm 發信人: jackie (jackie), 信區: Delphi_CBuilder 標 題: C++Builder調用Matlab的實現方法 發信站: 交大華緣站 (Sun Nov 7 23:04:37 1999) , 轉信 國防科技大學機電工程與儀器系 張雲洲 ---- 摘要:本文簡要敍述了Matlab語言的優點,介紹了在用Borland C++Builder語言開發的 Windows應用程式中,調用matlab語言實現科學計算和圖形繪製的方法。 ---- 關鍵字:C++Builder Matlab調用 混合編程 1. 引言 ---- Matlab是一個高度集成的系統,集科學計算、圖像處理、聲音處理於一體,具有極高的編程 效率。近年來,Matlab已經從最初的“矩陣實驗室”,滲透到科學與工程計算的多個領域,在自 動控制、信號處理、神經網路、模糊邏輯、小波分析等多個方向,都有著廣泛的應用。 ---- Borland C++Builder是一種新穎的視覺化編程語言。在工程應用中,我們一般用 C++Builder語言編寫應用程式,實現交互介面、資料獲取和埠操作等,但C++Builder在數值處 理分析和演算法工具等方面,其效率遠遠低於Matlab語言。在準確方便地繪製資料圖形方面, Matlab語言更具有無可比擬的優勢。此外,Matlab還提供功能強大的工具箱。但Matlab的缺點是 不能實現埠操作和即時控制。因此,若能將兩者結合運用,實現優勢互補,將獲得極大的效 益。 ---- 本文結合實際介紹了應用Borland C++Builder3.0開發的Windos應用程式中,對Matlab的 調用方法。 ---- 2. C++Builder調用Matlab的實現方案 ---- 2.1 實現思路 ---- 在高版本的Maltab中(如Matlab V4.2)提供了DDE介面,用戶可以通過Windows的DDE通訊 基制實現外部調用。這種實現方式比較簡單,但將增大主程序代碼,影響運行速度。 ---- 在Windows系統中,DLL是一種很特別的可執行文件,可以被多個Windows應用程式同時訪 問,具有固定的共用資料段。該資料段的資料在DLL被Windows下載前會一直保留在記憶體中,因此 可以通過DLL實現用戶程式與Matlab之間的資料傳輸和函數調用。 ---- 具體地說,就是利用Matlab的32位元動態連接庫(DLL),生成相應的可以被C++Builder調用 的DLL,用來提供二者之間的基本支撐環境。只需在用戶程式中載入該DLL,即可實現其資料段的 共用。然後在用戶程式中操作DLL資料段的資料,並通過某種方式在用戶程式中使Matlab執行該 DLL,就可實現用戶程式對Matlab的調用。其形式可以是混合編程或函數調用,非常方便而高 效。 ---- 2.2 實現方式 ---- Matlab提供了可外部連接的DLL文件,通過將其轉換爲相應的Lib文件,並加以必要的設 置,就可以在C++Builder中直接進行Matlab函數調用,實現C++ Builder語言與Matlab語言的混 合編程。 ---- 2.2.1 運行環境要求 ---- 由於Matlab提供的是32位的DLL。其運行環境要求是Matlab V4.2或更高版本。C++Builder 可以進行32位編程,這裏我們採用的是V3.0版本。 ---- 2.2.2 C++Builder下LIB文件的生成 ---- Matlab提供的Def文件允許用戶通過Implib命令生成相應的Lib文件。其命令格式爲: ---- Implib ???.lib ???.def ---- 在< matlab >\extern\include目錄下,提供了如下三個.Def文件: ---- _libeng.def,_libmat.def,_libmx.def ---- 通過上述命令可以生成相應的三個Lib文件。這些Lib文件中包含了可外部調用的Matlab函 數的必要資訊。 ---- 3. C++Builder調用Matlab實現計算和繪圖 ---- 爲清楚起見,作者通過一個簡單的CBuilder常式進行說明。該實例通過調用Matlab實現矩 陣運算並繪製圖形,來演示C++Builder對Matlab的調用。在C++Builder編輯環境中,建立一個新 的表單MyForm,並放置一個按鈕Demo。將工程文件命名爲Try.prj,其主函數爲try.cpp。在主函 數中,我們將使用一個實現Matlab調用的子函數DemoMatlab,作爲按鈕Demo的回應事件。其源代 碼如下: #include < vcl.h > #pragma hdrstop #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" TMyForm *MyForm; __fastcall TMyForm::TMyForm(TComponent* Owner) : TForm(Owner) { } void __fastcall TMyForm::DemoClick(TObject *Sender) { DemoMatlab(); //演示Matlab語言調用 } ---- 爲了調用Matlab中的函數,必須進行必要的設置,將包含這些函數的文件加入工程文件 Try.prj。以下是操作過程: ---- a. 在頭文件中加入Engine.h。其包含了啓動Matlab調用和關閉的函數聲明。 ---- b. 打開Project|Option…對話方塊,點擊Directories/Conditionals 在Include Path中,加入目錄路徑< matlab >\extern\include,該路徑包含了engine.h和 matlab.h等有用的頭文件。 在Library Path中,加入< matlab >\bin和< matlab >\extern\include。這兩個目錄路徑包 含了可外部調用的DLL和LIB文件。 ---- c. 點選Project|Add to Project…對話方塊,加入如下庫文件: ---- _libeng.lib,_libmat.lib和_libmx.lib。 ---- 在進行了這些必要的設置之後,我們就可以選用適當的函數來實現目標。 以下是子函數 DemoMatlab的程式碼。 void DemoMatlab { Engine *eng; //定義Matlab引擎 char buffer[200]; //定義資料緩衝區 int array[6]={1,2,3,4,5,6}; mxArray *S = NULL, *T = NULL; engOpen(NULL); //打開MATLAB 引擎 ---① S= mxCreateDoubleMatrix(1,6, mxREAL); // 産生矩陣變數 mxSetName(S, "S"); memcpy((char *) mxGetPr(S), (char *) array, 6*sizeof(int)); engPutArray(eng, S); //將變數X置入Matlab的工作空間 engEvalString(eng, "T = S/S.^2;"); //計算 engEvalString(eng, "plot(S, T);"); //繪製圖形 …… …… engOutputBuffer(eng, buffer, 200); //獲取Matlab輸出 T = engGetArray(eng, "T"); //獲得計算結果----② engClose(eng); //關閉Matlab引擎,結束調用 mxDestroyArray(S); //釋放變數 mxDestroyArray(T); } ---- 若還需要執行其他功能和任務,那麽按照上面介紹的方法,進行變數聲明後,在①、②處加 寫需要的語句既可。 ---- 當然,使用這種方法調用Matlab不能脫離Matlab環境的支撐。但當我們不需要看到Matlab 的命令視窗時,可將其賦予Swhide屬性而加以隱藏。 ---- 4. 結語 ---- 按照本文介紹的方法來實現C++Builder下應用程式對Matlab的調用,可以充分利用 Matlab強大的科學計算功能和豐富的工具箱,而且具有混合編程、方便高效的優點。這是C++語言 和其他高階語言所無法比擬的。按照本文的方法,我們還可以編寫程式來最充分地利用Matlab的 其他資源,開發滿足自己需要的程式,更有效地完成我們的工作。 -- ※ 來源:.交大華緣站WWW bbs.4y.com.cn. [FROM: 202.101.209.157] ********************************************************************** 哈哈 庵不是前輩 我不是唸理工的 很多人都知道庵不會寫程式 我原本想說這是一個超冷凍的書 應該沒人會問 想不到還有人詢問 實在太意外 *************************** 我常在想,寫程式跟爬格子到底有什麼不同呢 我也常在想,程式設計師與賣油郎 到底有什麼不同呢 我是認為都一樣啦 一天24小時 生死一瞬間 你賣程式專業 我賣信用的專業 哈哈 建議你順便問問phototin 大大也許會知道更多 3Q3Q 發表人 - jackkcg 於 2002/12/04 02:38:32
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-06-30 0:48:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!