呵呵,看來我們有研究相同的問題吧
站在用戶的角度思考問題,與客戶深入溝通,找到豐南網(wǎng)站設(shè)計與豐南網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋豐南地區(qū)。
matlab是一種科學(xué)的計算語言,采用的是解釋執(zhí)行的方式,在配置比較水的機器(比如說我的),運行起來速度不敢恭維,但是他適合工程師用,快速建立起自己的運算平臺,很多語法是類似c語言。你可以考察一下matlab的安裝目錄下extern下面lib庫中的函數(shù),可以發(fā)現(xiàn),有很多的c語言代碼,實際上,其內(nèi)核有很多c的成分。
所以你應(yīng)該可以明白了,可以運行,但是要把matlab的庫函數(shù)包含在c編譯庫中。
你完全可以在extern中的example中,在matlab環(huán)境下面運行幾個c代碼試一試,當(dāng)然所采用的指令是mex(把c語言用于matlab中),mcc把matalb代碼轉(zhuǎn)化為c代碼,一些具體的參數(shù),你可以用matlab強大的help工具獲得。我們還可以一起探討一下啊,給各郵箱之類的吧,呵呵,很樂意的
matlab與C有接口,可以用C調(diào)用matlab,也可以用matlab調(diào)用C,或者用中間臨時文件實現(xiàn)程序間的數(shù)據(jù)傳輸,但是不能像你這樣通過matlab的m文件查看對應(yīng)的C語句。
一般的程序語言都不是跨平臺的,就像你說的這種matlab平臺和C平臺程序語句對應(yīng)起來,這種對matlab和C是不可能的。
matlab中調(diào)用c語言函數(shù):
#include "mex.h" //頭文件必須包含mex.h
double mexSimpleDemo(double *y,double a,double b);
//C語言算法程序聲明,在最后調(diào)用時,第一
// 個參數(shù)是返回結(jié)果
//c語言到matlab變換,以mexFunction命名
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
double *y;
double m,n;
//獲取輸入變量的數(shù)值大小
m=mxGetScalar(prhs[0]);
n=mxGetScalar(prhs[1]);
//獲取輸出變量的指針
plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
y=mxGetPr(plhs[0]);
//調(diào)用子函數(shù)
mexSimpleDemo(y,m,n);
}
//C語言函數(shù)
double mexSimpleDemo(double *y,double a,double b)
{
return *y=(ab)?a:b;
}
matlab上的程序在C語言上能運行。matlab是一種科學(xué)的計算語言,采用的是解釋執(zhí)行的方式,所有在C語言上能運行。
有一個通俗的比喻,
如果程序設(shè)計語言是車,那么C
語言就是全能手,
C十十語言是加強版的C
語言,
MATLAB
是科學(xué)家用來完成特殊任務(wù)的工具。作為使用MATLAB
的科學(xué)家和工程師,
通過混合程序設(shè)計,就可以借用CIC十十語言這兩個全能手增強MATLAB
的功能;作為使用C/C十十語言開發(fā)的開發(fā)者,也可以通過混合程序設(shè)計來使用MATLAB強大的科學(xué)計算與數(shù)據(jù)可視化功能。