找了許多都不能把vc6.0和matlab接到一起,最後發現是matlab版本過新的問題,用matlab7.0就可以了。
環境配置都是根據這篇文章中進行配置vc6.0與matlab7.0混合程式設計
下面展示一些編碼過程
。
#include "stdafx.h"
#include "iostream.h" // 輸入輸出標頭檔案
#include "mclmcr.h" // mwarray 型別宣告
#include "libc_cubic.h" // dll 標頭檔案
void display(const double* data, const int r, const int c, const char* name);
int main()
// 初始化庫
if (! libc_cubicinitialize() )
// 宣告 dll 函式輸入輸出 mwarray 物件
//為變數分配記憶體空間。
// 1,1表示矩陣的大小
//(所有matlab只有一種變數,就是矩陣,為了和cpp變數接軌,設定成1*1的矩陣,
//mxdouble_class表示變數的精度)
mwarray x(1,10,mxdouble_class);//1行10列
mwarray y(10,3,mxdouble_class);//10行3列
mwarray z(2,2,mxdouble_class);//2行2列
mwarray c;
double x[10] = ;
double y[30] = ;
double z[4] = ;
double *cub;
cub = new double[6];
// 給輸入 mwarray 物件賦值
x.setdata(x,10);
y.setdata(y,30);
z.setdata(z,4);
// 呼叫 dll 函式 呼叫自己寫的函式
c_cubic(1,c,x,y,z) ;//第乙個引數是 輸出幾個引數的意思。如果輸出sum 和 prod 就寫2
//呼叫類裡面的get函式獲取函式返回值
//cub = c.get(1,1);
// 取出輸出資料
c.getdata(cub,6);
// 顯示 mwarray 物件
std::cout << "cub = " << std::endl << c << std::endl;;
// 關閉庫和程式
libc_cubicterminate() ;
return 0;
}
呼叫我寫的c_cubic函式
function [yi] = c_cubic( x,y,xi)
yi=interp1(x,y,xi,'cubic');
end
這是matlba的對應三次插值例子的**
x =[1
:10]'; y =
[ x.^2
, x.^3
, x.^4
]; xi =
[1.5
,1.75
;7.5
,7.75
]; yi =
interp1
(x,y,xi,
'cubic'
);
在VC6 0中的除錯
3.設定資料斷點,和上面不同也就是表示式,換成了乙個全域性變數,並且在斷點對話方塊中,選中data選項卡,然後輸入全域性變數名,那麼當這個全域性變數的值發生給變時,程式就會中斷。4.設定訊息斷點 就是指斷點與訊息及相應的訊息處理函式 當某個訊息處理函式處理了乙個斷點訊息,程式將在訊息處理函式處中斷。...
vc 6 0中MySql的使用
一 mysql的安裝 1 開啟vc6.0 工具欄tools選單下的options選項,在directories的標籤頁中右邊的 show directories for 下拉列表中選中 includefiles 然後在中間列表框中新增你本地安裝mysql的include目錄路徑。我的是d progr...
在VC 6 0中建立靜態庫
本文介紹用vc建立static lib,並且如何使用自己建立的庫。1 新建乙個win32 static library工程,預設 ok finish 即可 2 新建檔案add.cpp和add.h到此工程 add.h檔案如下 include int add int x,int y add.cpp檔案內...