求把乙個c語言檔案轉化成matlab語言檔案???!!!急

2025-06-22 14:25:09 字數 3974 閱讀 3431

1樓:吳水淋

c語言,是一種通用的、程式式的程式語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,也就是說,c語言的目的是用與軟體開發,他有著豐富的應用支援。

相比之下,matlab是一種商業數學軟體,是一種數值計算環境和程式語言,主要包括matlab和simulink兩大部分。matlab基於矩陣運算,其全稱matrix laboratory即得名於此。它在數學類科技應用軟體中在數值計算方面首屈一指。

matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

2樓:網友

從c變換到matlab必然需要對演算法流程有完全的瞭解。 樓主最好把c程式的流程和演算法原理簡單說一下,這樣可以縮短花費的時間。

求c語言程式轉變成matlab語言程式高手

3樓:七殿哥哥

可以試試matlab的混合程式設計,matlab有這樣的介面。

關於乙個c語言函式改成 matlab混編 mexfunction檔案

4樓:網友

以為檔名儲存,注意,在matlab裡,三維陣列p的第3個引數是頁號,而c語言中第1個引數是頁號。

funciton y=delta_m(p, n)anser=0

for max=1:n*n

for min=1:n*n

maxj=floor((max-1)/n)+1;

maxk=mod(max-1,n)+1;

minj=floor((min-1)/n)+1;

mink=mod(min-1,n)+1;

tmp=0;

for i=1:n-1

if p(maxj,maxk,i)>p(minj,mink,i) %頁號i放在第3個引數。

tmp=tmp+p(maxj,maxk,i)-p(minj,mink,i);

endend

if (anseranser=tmp;

endend

endy=1-ans;

如何將c語言轉換成matlab?

5樓:網友

matlab 主要使用矩陣,變數是矩陣,運算是矩陣。即使是c語言中的乙個簡單變數,matlab也要視它為矩陣。

c語言程式放入matlab使用:

1)必須改寫main(){把main(){變成 matlab 入口函式 mexfunction(){2)其它功能性函式/子程式不需變化。

3)加標頭檔案 #include ""

你需要學習一下mexfunction(){如何書寫,引數意義等。這裡就不費筆墨了。

入口函式樣子:

void mexfunction(int nlhs,mxarray *plhs, int nrhs, const mxarray *prhs)

6樓:育知同創教育

沒有直接轉換的工具,二者本質不同,matlab是解釋性語言,面向的過程不同。但是matlab的語句基本上是以早期c為基礎拓展的,與c的風格比較類似,會使用c的話,matlab的使用不成問題,也就是說無需轉換,直接按照c的思路去編寫matlab程式即可。

7樓:旗逸仙

還有個方法,直接資料拷貝,在matlab中建乙個m檔案,將拷貝的資料賦予乙個變數(可以是二維矩陣)執行後,工作區的該變數即為乙個矩陣,可以將該變數儲存為。mat檔案,當然高階的方法就是用xlsread了。

8樓:胡香卉

matlab是有這個功能的, 至少我用的2007是有工具的。 至於轉的結果嘛,試過一次,很小的程式編譯就很慢了, 執行效果怎麼樣沒試。。

9樓:網友

大概可以這樣寫給點思路。

float f1(int i...

float f2(int i...

void r_k(..

替換成function r_k

f1(..f2(..

function res=f1(i..)

function res=f2()

然後將這個檔案儲存為r_就可以了。

如何把matlab的m檔案轉換成c語言?

10樓:梅森琦

matlab 自帶生成 c 語言的功能,只需要在器功能區選擇「應用程式」,找到 matlab coder,開啟,按照步驟操作即可,如圖所示。

但是它可能有諸多限制,有些內建函式無法生成 c 語言,所以如果遇到這種情況你可能需要用 c 自己實現一些功能。

matlab中的多個.m檔案轉化成exe檔案,我用過mcc但是一次只能轉換乙個.m檔案

11樓:手機使用者

+檔案。

命令的格式為:

mcc[-option]fun[fun2...mexfile1...mlifile...

轉化後的檔案預設在當前目錄中。

若m檔案多於乙個,那麼每個檔案對應轉化相應的c和c++檔案。

若原始檔包含c檔案,則將它們同新生成的c檔案一起編譯。

一些有用的option引數解釋如下:

c 轉化為c語言檔案但是不生成mex檔案或者獨立應用程式。

d指定生成的檔案目錄。

g/g 進入除錯狀態。

h 編譯幫助函式,所以的m檔案都將編譯到mex檔案或者獨立應用程式。

l《option》 指定目標語言為option,其中c,cpp,p分別代表c語言,c++,matlab語言。

m 指定建立獨立c語言應用程式的巨集,作用等於『-t-w main -l c-h-t link:exe

m"" 向mblid或者mex教本傳遞string中包含的資訊。

o指定輸出檔名。

o指定優化引數。

p 指定建立獨立c++語言應用程式的巨集 作用等於-t-w main -l cpp-h-t link:exe

v 詳細顯示編譯步驟。

x 指定建立獨立mex檔案的巨集,作用等於-t-w main -l c-t link:exe

s 轉化為simuink的s函式。

eg現有m檔案 ,主函式main中呼叫了子函式mrank

function main

r=mrank(5)

function r=mrank(n)

r=zeros(n,1);

for k=1:n

r(k)=rank(magic(k));

end在matlab環境下執行主程式可以看到結果。

mainr=1

現在要把他們轉化為c和cpp程式。

在matlab工作視窗中輸入下面命令。

mcc-mc main mrank

可以得到下面個檔案:

在matlab中輸入下面命令。

mcc -lcpp main mrank

可以得到下面5個檔案。

有了這些程式以後,就可以在其他c,c++程式中方便呼叫了。

建立獨立可執行程式。

方法1:編譯m檔案為可執行程式。

mcc -m main mrank

or mcc -p main mrank

方法2:將編譯的c c++轉化為可執行程式。

mbuild main_

ormbuild main_

12樓:網友

建議你使用copydeploytool deploy tool其實是乙個 mcc的前端介面(用mcc的命令列引數一樣可以完成編譯工作)

你開啟工具箱後 按照上面的操作就可以了。

類似於你這個主介面和子介面都可以打包進來。

13樓:網友

貌似matlab的程式執行都需要安裝matlab的環境吧。

為什麼非要生成exe呢?

怎樣用簡單C語言將A轉化成a,C語言 如何把A Z轉換成1 26?輸入一個字母 輸出一個數字。

最簡單的方法就是 char c a 32 void main char c a 32 printf c c c getch 擴充套件資料算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於...

求c語言程式設計,求一個c語言程式設計

原創 剛好我才做了c語言實驗,給你一個任意兩矩陣相乘的 include 矩陣a a n h b b h k c c n k c a b,求c?define n 3 define h 3 define k 3 a i1 j1 表示陣列a n h 中各元素,b i2 j2 表示陣列b h k 中各元素,...

c語言求和,C語言!求一個求和的程式。

3全部先獲取陣列長度,然後用for迴圈,從陣列中獲取值進行累加求和。include include int main int n int val int a int sun 0,i printf 請輸入陣列的長度 scanf d n printf n a int malloc n sizeof in...