国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Matlab在數(shù)學建模中的應用

2011-07-30 09:47穆乃剛
中國新技術新產(chǎn)品 2011年23期
關鍵詞:函數(shù)庫調用數(shù)學模型

穆乃剛

(中油遼河工程有限公司,遼寧 盤錦 124010)

一、前言

由實驗數(shù)據(jù)建立數(shù)學模型,我們通常采用回歸分析,在熱油管道運行優(yōu)化軟件的開發(fā)中,需要根據(jù)不同油品的粘溫數(shù)據(jù),回歸出粘溫關系數(shù)學模型,以計算出不同溫度下的油品粘度。

二、熱油管道運行優(yōu)化軟件簡介

1.功能需求

本軟件的功能為已知輸油管道系統(tǒng)的運行參數(shù),尋求在特定輸油任務的前提下,輸油費用最小值時的工況組態(tài),并可選擇輸出各工況組態(tài)的運行參數(shù)和相應費用。

2.編程語言及開發(fā)環(huán)境

本軟件的功能側重于數(shù)值計算,在尋優(yōu)過程中需要進行大量的數(shù)據(jù)處理,為了能夠快速得到尋優(yōu)結果,需要軟件具有較高的執(zhí)行效率,因此本軟件編程語言選擇C++語言。C++語言程序生成代碼質量高,一般只比匯編程序生成的目標代碼效率低10~20%,且具有指針操作功能,能夠象匯編語言一樣對位、字節(jié)和地址進行操作,使程序的算法更加靈活。

本軟件采用Visual C++6.0作為軟件開發(fā)環(huán)境,這是一種可視化編程工具,界面友好,邏輯清晰,調試方便,界面編制能力很強,開發(fā)的軟件可以在Windows系列操作系統(tǒng)上良好運行。

3、軟件界面

本軟件運行后,主界面如下圖所示

三、在VC++中通過調用Matlab實現(xiàn)回歸分析

1.在VC++中調用Matlab方法簡介

Matlab是一種功能非常強大的數(shù)學分析軟件,它廣泛應用于線性代數(shù)、自動控制理論、數(shù)理統(tǒng)計、動態(tài)系統(tǒng)仿真等領域,具有擴展性好、易學易用、方便快捷等優(yōu)點,但Matlab語言是一種解釋性語言,它實時效率差、不可以脫離其環(huán)境獨立運行,而在VC++中調用Matlab,既能保留Matlab的優(yōu)良算法,又能保持VC++的高效率性,能大大縮短本功能模塊的開發(fā)周期,在VC++中調用Matlab主要有以下兩種方法:

(1)利用Matlab引擎 Matlab引擎采用客戶機和服務器的計算方式,在運行中,VC++開發(fā)的程序為前端客戶機,它向Matlab引擎?zhèn)鬟f命令和數(shù)據(jù)信息,并從Matlab引擎中接收數(shù)據(jù)信息,這種方法調用Matlab采用較少的代碼即可實現(xiàn),但不能脫離Matlab運行環(huán)境,且運行速度緩慢。

(2)調用Matlab的C/C++數(shù)學函數(shù)庫 Matlab中提供了大量可以供C/C++語言調用的C/C++數(shù)學函數(shù)庫,其中包含了各種矩陣操作函數(shù),在VC++中直接調用Matlab的C/C++數(shù)學函數(shù)庫,生成的軟件運算速度快,且可以完全脫離Matlab的運行環(huán)境。

由于第2種方法具有第1種方法不可比擬的優(yōu)越性,本軟件采用第2種方法實現(xiàn)對Matlab的調用。

2.已知原油粘度-溫度實驗數(shù)據(jù),建立粘度-溫度的數(shù)學模型

本軟件粘溫關系數(shù)學模型采用1元4次多項式,

即y=a4x4+a3x3+a2x2+a1x+a0,

在Matlab中,多項式回歸函數(shù)為a=polyfit(x,y,n),

其中x為自變量數(shù)據(jù)向量,在此為溫度向量,

y為應變量數(shù)據(jù)向量,在此為粘度向量,

n為所回歸的多項式的最高次冪,在此為4,

a為所回歸的多項式的系數(shù)向量,

下面是熱油管道運行優(yōu)化軟件實現(xiàn)此功能的主要代碼,

對以上代碼分析如下,

本行程序是創(chuàng)建mwArray類型的數(shù)據(jù)對象cc,mwArray是Matlab C++函數(shù)庫中的基本數(shù)據(jù)類型,對應于Matlab中的陣列數(shù)據(jù)類型,可以用它來創(chuàng)建 mwArray類對象,即陣列對象,成功調用Matlab C++庫函數(shù),從而方便的實現(xiàn)復雜的數(shù)學矩陣運算。Matlab C++函數(shù)庫通過 mwArray類,支持五種類型的Matlab陣列,分別為數(shù)值陣列、稀疏矩陣、字符矩陣、單元陣列和結構體陣列,本例程序中使用的就是數(shù)值陣列。

本行程序是調用Matlab中的多項式回歸函數(shù)a=polyfit(x,y,n),得到所回歸的多項式的系數(shù)陣列;

mxArray是Matlab C函數(shù)庫的結構體,被封裝于Matlab C++函數(shù)庫mwArray類中,通過調用其成員函數(shù)GetData(),得到mxArray的指針,本例程序中為pCMxData,然后通過調用mxGetPr()函數(shù),并采用for循環(huán)結構,取得所回歸的多項式的各項系數(shù)。

至此,油品粘溫關系的數(shù)學模型已成功建立完畢。

3.實例分析

由實驗獲得原油粘度-溫度數(shù)據(jù)如下表所示,

?

運用上述方法建立的數(shù)學模型為:

y=0.00112x4-0.2968x3+29.892x2-1367.6x+24250,

其中x為溫度,y為粘度,

獲取的原油粘度-溫度回歸曲線如下圖所示,

由圖可知,此數(shù)學模型精確地描述了原油粘度、溫度之間的函數(shù)關系。

四、結束語

原油粘度-溫度數(shù)學模型的建立可以歸結于1元n次多項式的回歸問題,在工藝計算中,經(jīng)常遇到的泵特性曲線回歸均屬于此類問題,如泵的揚程-流量曲線,此類問題均可以通過調用Matlab數(shù)學函數(shù)庫方便、高效的解決。

[1]劉維.精通Matlab與C/C++混合程序設計(第2版)[M].北京航空航天大學出版社 2008.1.

[2].楊筱蘅.輸油管道設計與管理[M].石油大學出版社 ,2006.5.

猜你喜歡
函數(shù)庫調用數(shù)學模型
AHP法短跑數(shù)學模型分析
活用數(shù)學模型,理解排列組合
用于優(yōu)化雷達信號處理的VSIPL函數(shù)庫
Scratch求最值和平均值
核電項目物項調用管理的應用研究
基于BB60C的IQ數(shù)據(jù)采集與存儲系統(tǒng)設計
LabWindows/CVI下基于ActiveX技術的Excel調用
基于系統(tǒng)調用的惡意軟件檢測技術研究
古塔形變的數(shù)學模型
利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
丹巴县| 鄂托克前旗| 兴城市| 全南县| 蛟河市| 苗栗市| 马龙县| 南漳县| 西乌珠穆沁旗| 浮山县| 仁布县| 抚顺市| 十堰市| 黑水县| 贵定县| 西吉县| 辽阳市| 虎林市| 宾川县| 庆阳市| 泾源县| 拉孜县| 岳池县| 洛宁县| 东乡县| 南漳县| 保德县| 明星| 油尖旺区| 桂平市| 山东省| 延边| 邹城市| 阜康市| 靖安县| 泸西县| 屯留县| 宜春市| 安吉县| 五原县| 灵石县|