• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Matlab在數(shù)學(xué)建模中的應(yīng)用

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

      穆乃剛

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

      一、前言

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

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

      1.功能需求

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

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

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

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

      3、軟件界面

      本軟件運(yùn)行后,主界面如下圖所示

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

      1.在VC++中調(diào)用Matlab方法簡(jiǎn)介

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

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

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

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

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

      本軟件粘溫關(guān)系數(shù)學(xué)模型采用1元4次多項(xiàng)式,

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

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

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

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

      n為所回歸的多項(xiàng)式的最高次冪,在此為4,

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

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

      對(duì)以上代碼分析如下,

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

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

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

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

      3.實(shí)例分析

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

      ?

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

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

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

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

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

      四、結(jié)束語

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

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

      [2].楊筱蘅.輸油管道設(shè)計(jì)與管理[M].石油大學(xué)出版社 ,2006.5.

      猜你喜歡
      函數(shù)庫調(diào)用數(shù)學(xué)模型
      AHP法短跑數(shù)學(xué)模型分析
      活用數(shù)學(xué)模型,理解排列組合
      用于優(yōu)化雷達(dá)信號(hào)處理的VSIPL函數(shù)庫
      基于Python的開源GIS應(yīng)用開發(fā)
      Scratch求最值和平均值
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      基于BB60C的IQ數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      對(duì)一個(gè)數(shù)學(xué)模型的思考
      旬阳县| 鄂尔多斯市| 日照市| 宜丰县| 安西县| 营山县| 张掖市| 宜城市| 汕头市| 深圳市| 宁河县| 手机| 景泰县| 江油市| 太湖县| 彭水| 内乡县| 曲松县| 平遥县| 黔江区| 江源县| 郸城县| 武隆县| 仁怀市| 大同市| 商河县| 南澳县| 旺苍县| 茂名市| 金塔县| 武义县| 金秀| 沙坪坝区| 台北市| 宝丰县| 平顺县| 新蔡县| 佛山市| 钟山县| 南投市| 连山|