同霄 張笑
1)Active X是一門生成、使用和集成組件的技術。
2)OLE:傳統上,軟件開發工具是始終如一的,即使能與其他工具交換組件并能實施一些變化,其交換和變化也是微小的。編程環境是獨立于其他應用程序的“孤島”。隨著OLE的引入,軟件的開發方法從面向過程轉化為面向對象。
用CreateObject()函數生成要引用的應用程序,與OLE自動化服務器聯系,其語法如下:
Set AppObject=CreateObject(Class,ServerName)
Class是服務器應用程序在注冊表中注冊的名稱。
MATLAB的Class名為“Matlab.Application”。ServerName是可選的,是生成對象的網絡服務器名,可以由用戶自己定義。如果服務器應用程序在另一機器上,則還要指定生成Class的機器名。如果服務器應用程序安裝在機器computer上,則下列語句生成Matlab的新實例:
Set Matlab=CreateObject(“Matlab.Application,”“computer”)
1)Execute方法。
調用Matlab,執行一條由字符串組成的Matlab命令,同時返回一個字符串,該字符串表示了命令的執行情況,其語法為:
Result=Matlab.Execute(“Command”)
2)GetFullMatrix方法。
Call GetFullMatrix(
[in]BSTRName,
[in]BSTRWorkPlace,
[inout]SAFEARRAY(double)*pr,
[inout]SAFEARRAY(double)*pi)
該函數從指定的MAT LAB工作空間中獲取一維或二維數組。Name指定MATLAB中的矩陣變量名,Workspace指定Matlab工作區,*pr指VB程序中的實部數組,*pi指VB程序中的虛部數組。
3)PutFullMatrix方法。
Call PutFullMatrix(
[in]BSTRName,
[in]BSTRWorkPlace,
[inout]SAFEARRAY(double)*pr,
[inout]SAFEARRAY(double)*pi)
該函數將VB程序中的一維或二維數組傳送到MATLAB中的矩陣變量中。


彈性地基梁根據荷載作用點離梁兩端的距離分為無限長梁、半無限長梁和有限長梁。在集中力或集中力偶下無限長梁和半無限長梁的彎矩表達式為:
集中力作用下無限長梁的彎矩計算公式:

集中力偶作用下無限長梁的彎矩計算公式:

集中力作用下半無限長梁的彎矩計算公式:

集中力偶作用下半無限長梁的彎矩計算公式:

其中,F,M0分別為集中力和集中力偶的大小;x為地基梁上一點到集中力或集中力偶作用點之間的距離;λ為彈性特征;式(1),式(2)為無限長梁荷載作用點右半部分的彎矩計算公式,根據其對稱性得到其左半部分的結果。
程序主要思路如圖1所示,先判斷彈性地基梁的類型,而后將數據傳遞到MATLAB工作空間中進行計算,繪制彎矩圖,剪力、撓度、轉角和彎矩一致。


圖2為程序的主界面。
第一步先判斷彈性地基梁的類型,如圖3所示,點擊對應按鈕。
第二步選擇相應的類型及受力方式,并進行計算,計算界面和彎矩圖如圖4所示。
本文將VB和MAT LAB進行無縫連接,將它們各自的優點結合在一起,繪制出簡單的彎矩圖,為條形基礎、十字交叉基礎的分析提供平臺。本文采用了VB6.0編制可視化程序,程序界面友好,給用戶帶來很大方便,數據信息的輸入、計算過程和結果展示均在界面上進行,易于用戶理解。
[1] 張德豐.MATLAB與外部程序接口的編程[M].北京:機械工業出版社,2009.
[2] 毛濤濤,王正林,王 玲.精通MATLAB GUI設計[M].北京:電子工業出版社,2008.
[3] 曾建軍,李世航,王永國,等.MATLAB語言與數學建模[M].合肥:安徽大學出版社,2005.
[4] 劉彬彬,高春艷,安 劍.Visual Basic技術方案寶典[M].北京:人民郵電出版社,2008.
[5] 薛彥科技.Visual Basic編程高手[M].北京:北京大學出版社,2000.