A. 如何在matlab上運行c語言寫的程序
1.准備好C語言程序,清楚C語言的入口函數
2.編寫mexfunction函數。mexfunction函數為C語言與MATLAB語言的介面函數。調用實例在mylinedetect.c文件中.在MATLAB中調用mex指令編譯相關文件,將C語言編譯為MEX文件。
3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64文件,此文件即mex文件,用於MATLAB與C語言介面函數.
4.編譯完成之後,編寫MATLAB函數,調用MEX文件。以MEX文件的形式調用編譯完成的C語言函數[o1,o2]=mylinedetect(double(X).');......
5.輸出結果,上述linedetect函數完成圖像中直線檢測功能,帶入MATLAB中調用後形成結果。
B. 怎樣把Matlab和c語言結合起來編程序
C、C++、JAVA都是完整的通用平台的語言。通俗的說,就是它們可以編寫任何程序並可以在大部分硬體系統和操作系統中運行,C++、JAVA都是在C語言基礎上發展起來的,在表達形式上三者很相似。區別是,C是面向過程語言,就是說,其編程核心是邏輯流程。C++和Java是面向對象語言,簡單的說,是以數據為中心進行編程。這三門語言現在都有強大的生命力,從使用范圍上大略可以按照Java——C——C++的順序排列。特別的,c語言非常適合底層開發,具有獨一無二的優勢,而且具有基礎學習的意義,可以大大地幫助兩外兩門語言的學習。
VB、QB都是從Basic語言發展起來的。VB是window平台的專屬語言,所以適用面窄,也不適合作為入門語言,因為你學不到編程的基本知識和能力,而要花精力去學習windows特有的編程方式和習慣。QB沒人用了,死掉的語言。
FOX是一種已經廢棄的資料庫語言,不用考慮了。
Matlab是使用最廣泛的科學計算的軟體,在這個軟體上用於編寫計算程序的語言也叫Matlab。所以它也不是通用編程語言,只適用於科學計算,而且只能用在Matlab軟體。初學編程者不用考慮。
學好一門編程語言的方法就一個——大量地編程,書上題目做會之後,盡可能地參與實際的項目,這是最好的鍛煉。
9月
C. matlab與C語言的區別是什麼
MATLAB是解釋語言,c是編譯語言。
MATLAB是一種由美國MathWorks公司出品的商業數學軟體,是一種數值計算環境和編程語言,主要包括MATLAB和Simulink兩大部分。MATLAB基於矩陣(英語:Matrix)運算,其全稱MATrix LABoratory即得名於此。它在數學類科技應用軟體中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現演算法、創建用戶界面、連接其他編程語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
C語言,是一種通用的、程序式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。
D. MATLAB通信工具箱怎麼進
摘要:由於MA7ⅡAB不能直接對硬體端12進行讀寫操作,缺乏了實時性,使得工程上的應用受到了
極大的限制。而通過MATI.AB應用程序介面Mex調用C++語言,可實現在MATLAB環境下對硬體端
12信號的讀寫。為此,筆者對Mex介面文件進行了詳細介紹,包括Mex介面的各種特殊功能、詳細編
寫規則和具體編譯要求,具體闡述了Mex介面在MA啊AB環境下的調用及使用。並根據Mex介面的
相關功能。對MATLAB數據採集系統的設計在理論上進行了探討,以圖對MATLAB功能進行進一步
的擴展。
關鍵詞:MATLAB:介面;數據採集
Research of Data—Collection System Based onⅣ隊TLAB
Wang Hailong,Chen Shanjie,Li Qian,Zhang Peng,Ku Tao,Xu Dahua
(Co//ege ofEngieering,Nanjing Agriculture University,Nanjing 210031)
Abstract:Since MATLAB can not write directly to hardware available for operation.and it lacks of a re。
al-time,it works on the applications has been significantly hampered.MATLAB applications through rede—
ployment C++language interface Mex.Achievable in the MATI。AB environment for the specific hardware
interface signals.Therefore,author of a paper details Mex interfaces,inchding interfaces Mex various spe—
cial functions,and specific translation rules for the preparation of detailed,enuncimed the transfer and the
use of Mex interfaee in the MA』nAB environment.And in accordance with the relevant functional interface
Mex.MATIAB data acquisition system for the design in theory explored in a bid to further expand the
functions of MA7n。AB.
Key words:MA,11AB,Interface,Data collection
MATLAB產品系列被廣泛地應用於包括信號與
圖像處理、控制系統設計、通訊、系統模擬等諸多領域。
它的一大特性是有眾多的面向具體應用的工具箱和仿
真塊,包含了完整的函數集用來對信號圖像處理,控制
系統設計,神經網路等特殊應用進行分析和設計。其他
的產品延伸了MATLAB的能力,包括數據採集,報告
生成,和依靠MATLAB語言編程產生獨立C/C++代
碼等等。
正因為其強大的科學計算與可視化功能、簡單易
用的開放式可擴展環境以及所擁有的各種面向不同領
域而擴展的工具箱(ToolBox)t11,使得MATLAB在許多
學科領域中成為計算機輔助設計與分析、演算法研究和
應用開發的基本工具和首選平台。
但是,MATLAB也存在局限性,就是不能直接對
硬體埠進行讀寫操作,從而影響了它在測控系統開
發上的應用范圍。但它提供了應用程序介面API,通過
該介面,用戶可以方便地完成MATLAB與外部環境
的交互(如圖1所示)。為此,如何通過介面文件調用其
它語言編寫的程序(如C_卜}),再通過其實現對硬體端
口的讀寫操作,最終實現在單一MArⅡAB環境中進
行測控系統的開發,便成了一項值得探討和研究的問
題。
1 MATLAB應用程序介面文件Mex
MATLAB應用程序介面(APD主要包括3部分:
Mex文件(外部程序調用接13),Mat文件(數據輸入輸
出介面)及MATLAB計算引擎函數庫。它們實現的一
般功能分別為:(1)在MATLAB環境中調用C/c++
語言或FORTRAN語言編寫的程序,以提高數據處理
效率;(2)向MATLAB環境傳送數據或從MATLAB
環境接收數據,即實現MATLAB系統與外部環境的
數據交換;(3)在MATLAB和其他應用程序間建立客
戶機/伺服器關系,將MATLAB作為一個計算引擎,
在其他應用程序中調用從而降低程序設計的工作量。
以下重點介紹Mex文件的應用。
1.1眥X是一種動態鏈接的子程序,其具體功能如下
(1)對於某些已有的C程序,可以通過Mex方式
在MATLAB環境中直接調用;
(2)對於影響MATLAB執行速度的FOR__I,OOP
等循環體,可以編寫相應的C程序完成相同功能,並
編譯成Mex文件,提高運行速度;
(3)對於A/D或D/A卡,或其他PC硬體,可以直
接用Mex文件進行訪問,擴展MATLAB的功能;
(4)利用MEX文件,還可以使用一些軟體,如
Windows的用戶界面資源等。
1.2 Mex文件的編程規則
(1)編制自己的C++演算法程序;
(2)編制MEX源文件代碼;
MEX文件的源文件主要有兩個部分組成:
①計運算元例行程序(Computational Routine)。它是
鏈接的外部子程序,包含所有要完成計算功能的源代
碼,用來完成實際的計算工作。
②入口子例行程序(Gateway Routine)。它是計算
子例行程序和MATLAB環境之間的介面,用於完成
兩者間的數據交互。入口子例行程序是MATLAB調
用C抖程序所必需的部分,計運算元例行程序可以由入
口子例行程序調用以完成其特定的功能要求。入口子
例行程序具體的使用格式如下:
#include"mex.h"void MexFunction(int nlhs,
mxArray牛pills[],
int nrhs,const mxArray·prhs[])
{
//C語言代碼
)
其中,入口子程序的函數名必須為MexFunction。
prhs為一個結構體類型的指針數組,該數組元素按順
序指向所有的輸入參數;nrhs為輸入參數的個數;plhs
與prhs的類型一致,它指向所有的輸出參數;nlhs表
示輸出參數的個數。該函數通過prhs獲得輸入數據,
對這些輸入數據的處理後經由plhs獲得結果,該結果
作為輸出數據與其它程序進行數據交互嘲。
1.3 Mex文件的編譯和調用
在編譯Mex文件之前,必須先在MATLAB下安
裝好Mex編譯器,安裝方法如下:在MATLAB命令窗
口中輸入mex.setup然後按照提示向導逐步安裝即
可。
Mex文件在MATLAB命令窗口中直接編譯,方
式如下:mex filename,然後按回車鍵,如果編譯通
過,系統就會生成同名字的DLL文件,在以後的程序
中可以像調用MATLAB的內建函數一樣直接調用此
函數。原理如圖2。
由上可知,Mex文件可以作為一個MATLAB的
內建函數來處理,但這個函數又具有強大的介面功能,
可以完成對硬體埠信號的讀寫操作。其對硬體埠
讀寫操作的總流程如圖3所示:
2基於MATLAB的數據採集系統的概念設計
擬採用MATLAB和C的交互編程來處理數據采
集問題,這樣系統不僅具有傳統計算機數據採集系統
的全部功能,而且還具有很強的數據處理能力,實際上
構成了智能虛擬儀器t3]。
初步設計系統由三個模塊構成,MATLAB模塊的
功能包括圖形顯示和存取、數據分析和處理等,C語言
模塊主要實現串列通信功能,而硬體設備則完成對物
理量的變換[4,5/。如圖4所示。
當采樣對象確定後硬體設備也就隨之而定,而C
語言部分實現通信功能也是固定的,故所有的數據處
理功能設置都在MATLAB環境中的人機界面中實
現。該系統的3個界面實現功能如下。
主界面主要由一個圖形框和4個按鈕構成。圖形
框藉助於MATLAB的圖形處理功能,以最佳匹配模
式動態顯示實時采樣數據,實現自動示波器功能。4個
按鈕名稱分別尚釅設置串口」、「開始採集」、「數據處理」
和「退出系統」,滑鼠點擊即可實現相應功能。
在主界面選擇了「串口設置」後,就進入通信協議.
設置界面。這個界面主要由5個彈出式菜單和2個按
鈕構成,彈出式菜單的名稱和選項分別是:埠選擇
(COMI--COM4)、波特率(300-19200)、數據位m8)、停
止位(o~2)和校驗位(無、奇、偶),而2個按鈕則分別對
所設參數進行確認或者修正。
在主界面選擇了「數據處理,,後,則進入數據處理
界面。這個界面的功能與采樣對象有關,需由用戶自己
針對任務要求進行編程。
3結束語
MATLAB具有各種豐富的數值運算及圖形處理
功能,大量實用控制工具箱的存在更為其控制應用奠
定了堅實的基礎;而C語言則對硬體系統具有強有力
的處理能力,可方便地實現數據採集、串列通訊等功
能嘲。Mex文件是MATLAB調用C++和其他語言(如
Visual Fortran等)的簡易介面,它極大地擴展了
MATLAB的應用范圍,使MATLAB系統成為真正意
義上的開放的、功能完善的、自包容的程序設計和數據
處理集成環境Isl。
參考文獻
王正林,王盛開,陳國順.MATLAB/Simulink與控制系統模擬嗍.
北京:電子工業出版社,2005:11-13.
張威.MATLAB外部接121編程嗍.西安:西安電子科技大學出版
社,2004:50-85.
廖良斌,喻方平.基於DSP和USB的圖像採集系統的研究叨.武漢
理工大學學報(交通科學與工程版),2006,.30(1):120.123.
[4】申鼎才,郭慶平.基於Interact的分布式數據採集與分析在岩土工
程中的應用研究明.武漢理工大學學報(交通科學與工程版),
2005,29(6):974-976,992.
王志冰,李漢強.基於USB匯流排的數據採集系統的設計與實現叨.
武漢理工大學學報(交通科學與工程版),2005,29(5):758.761.
[6】楊義偉,蔣大明,戴勝華.駝峰信號微機監測系統的數據採集陰.武
漢理工大學學報(交通科學與工程版),2005,.29(1):154-156.
[7】楊健,張慧慧.基於DSP和ARM的網路化數據採集與信號分析終
端田.計算機工程,2006,32(8):269-271.
李堯坤,史忠科,畢業等.Matlab在基於B/S模式的決策支持系統
中的應用叨.計算機工程,2006,32(5):255-256,282.
E. 如何將matlab自帶的fmincon函數轉成C語言
並不是所有的MATLAB函數,或者其他工具箱自帶的函數都可以用MATLAB Coder生成C,在代碼生成之前,有一個源代碼的檢查步驟(View code generation readiness issues),會顯示不支持的函數。
對於不支持的函數,如果想要實現代碼生成,只能自己編寫,或者找替換的支持的函數。或者用coder.extrinsic注釋掉不支持的函數。
MATLAB Coder支持的函數的列表可以在幫助文檔中搜索「Functions and Objects Supported for C and C++ Code Generation」
F. matlab pde工具箱求解橢圓型方程的參數c
我已經做了一些,我把我的想法簡單地說,甚至引發一些內容是參考其他的信息,感謝他們的工作表,在這里,在這里會出現一些錯誤和不足之處(批評),也看海涵。
偏微分方程的MATLAB解決方案的方式一般有三種:
1,GUI方法,偏微分方程工具箱(PDE工具箱)解決常見的二階偏微分方程的規范,但遺憾的是,只有解決特殊的二階PDE問題,不支持偏微分方程的!
PDE工具箱支持命令行解決PDE問題,但要記住這些命令,並調用的形式真的累了,好嗎MATLAB提供了一個可視化的GUI的介面pdetool在pdetool可以很容易地解決了PDE問題,可以幫助我們直接產生的M代碼(文件 - >另存為)。
2,自己的庫函數
MATLAB語言提供pdepe()函數,可以直接解決了一般偏微分方程(組),其調用格式
溶膠pdepe(@ pdefun米, @ @ pdebc pdeic,X,T)
3,是給數值演算法直接求解數值演算法寫在這里,我的意思是,通過PDE方程解題思路的理解,然後編寫相應的求解演算法,這方法是有點累了,但很強的適應性,能夠解決相應的演算法程序手冊的書籍發現,絕大多數的問題。因為解決PDE方程可以使用的語言嗎?如C語言來解決,因此將一些其他語言的源代碼,可以利用的改寫成MATLAB程序。
其基本思想是解決PDE方程來確定網格和解決這個像FLUENT,先畫網格,然後調用解算器,其基本原理是PDE方程的離散化,這樣你就可以通過邊界向前解決問題。
解決方案PDE使用數字上的差別,可以參考的數值計算書。
我意外地理解為模擬,但看到一些模擬實例(過濾)的GUI方法,這樣的好處是直觀的,一家之言。
我的今天,仍有一些學生,這PDE的見解或淺,我希望你能有所幫助。
G. 怎麼在matlab中調用用c語言編寫的程序
通過把耗時長的函數用c語言實現,並編譯成mex函數可以加快執行速度。Matlab本身是不帶c語言的編譯器的,所以要求你的機器上已經安裝有VC,BC或Watcom
C中的一種。如果你在安裝Matlab時已經設置過編譯器,那麼現在你應該就可以使用mex命令來編譯c語言的程序了。如果當時沒有選,就在Matlab里鍵入mex
-setup,下面只要根據提示一步步設置就可以了。需要注意的是,較低版本的在設置編譯器路徑時,只能使用路徑名稱的8字元形式。比如我用的VC裝在路徑C:\PROGRAM
FILES\DEVSTUDIO下,那在設置路徑時就要寫成:「C:\PROGRA~1」這樣設置完之後,mex就可以執行了。為了測試你的路徑設置正確與否,把下面的程序存為hello.c。
/*hello.c*/
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
mexPrintf("hello,world!\n");
}
假設你把hello.c放在了C:\TEST\下,在Matlab里用CD
C:\TEST\
將當前目錄改為C:\
TEST\(注意,僅將C:\TEST\加入搜索路徑是沒有用的)。現在敲:
mex
hello.c
如果一切順利,編譯應該在出現編譯器提示信息後正常退出。如果你已將C:\TEST\加
入了搜索路徑,現在鍵入hello,程序會在屏幕上打出一行:
hello,world!
看看C\TEST\目錄下,你會發現多了一個文件:HELLO.DLL。這樣,第一個mex函數就算完成了。分析hello.c,可以看到程序的結構是十分簡單的,整個程序由一個介面子過程
mexFunction構成。
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
前面提到過,Matlab的mex函數有一定的介面規范,就是指這
nlhs:輸出參數數目
plhs:指向輸出參數的指針
nrhs:輸入參數數目
例如,使用
[a,b]=test(c,d,e)
調用mex函數test時,傳給test的這四個參數分別是
2,plhs,3,prhs
其中:
prhs[0]=c
prhs[1]=d
prhs[2]=e
當函數返回時,將會把你放在plhs[0],plhs[1]里的地址賦給a和b,達到返回數據的目的。
細心的你也許已經注意到,prhs[i]和plhs[i]都是指向類型mxArray類型數據的指針。
這個類型是在mex.h中定義的,事實上,在Matlab里大多數數據都是以這種類型存在。當然還有其他的數據類型,可以參考Apiguide.pdf里的介紹。
為了讓大家能更直觀地了解參數傳遞的過程,我們把hello.c改寫一下,使它能根據輸
入參數的變化給出不同的屏幕輸出:
//hello.c
2.0
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
int
i;
i=mxGetScalar(prhs[0]);
if(i==1)
mexPrintf("hello,world!\n");
else
mexPrintf("大家好!\n");
}
將這個程序編譯通過後,執行hello(1),屏幕上會打出:
hello,world!
而hello(0)將會得到:
大家好!
現在,程序hello已經可以根據輸入參數來給出相應的屏幕輸出。在這個程序里,除了用到了屏幕輸出函數mexPrintf(用法跟c里的printf函數幾乎完全一樣)外,還用到了一個函數:mxGetScalar,調用方式如下:
i=mxGetScalar(prhs[0]);
"Scalar"就是標量的意思。在Matlab里數據都是以數組的形式存在的,mxGetScalar的作用就是把通過prhs[0]傳遞進來的mxArray類型的指針指向的數據(標量)賦給C程序里的變數。這個變數本來應該是double類型的,通過強制類型轉換賦給了整形變數i。既然有標量,顯然還應該有矢量,否則矩陣就沒法傳了。看下面的程序:
//hello.c
2.1
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
int
*i;
i=mxGetPr(prhs[0]);
if(i[0]==1)
mexPrintf("hello,world!\n");
else
mexPrintf("大家好!\n");
}
這樣,就通過mxGetPr函數從指向mxArray類型數據的prhs[0]獲得了指向double類型的指針。
但是,還有個問題,如果輸入的不是單個的數據,而是向量或矩陣,那該怎麼處理呢
?通過mxGetPr只能得到指向這個矩陣的指針,如果我們不知道這個矩陣的確切大小,就
沒法對它進行計算。
為了解決這個問題,Matlab提供了兩個函數mxGetM和mxGetN來獲得傳進來參數的行數
和列數。下面常式的功能很簡單,就是獲得輸入的矩陣,把它在屏幕上顯示出來:
//show.c
1.0
#include
"mex.h"
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*data;
int
M,N;
int
i,j;
data=mxGetPr(prhs[0]);
//獲得指向矩陣的指針
M=mxGetM(prhs[0]);
//獲得矩陣的行數
N=mxGetN(prhs[0]);
//獲得矩陣的列數
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
mexPrintf("%4.3f
",data[j*M+i]);
mexPrintf("\n");
}
}
編譯完成後,用下面的命令測試一下:
a=1:10;
b=[a;a+1];
show(a)
show(b)
需要注意的是,在Matlab里,矩陣第一行是從1開始的,而在C語言中,第一行的序數為零,Matlab里的矩陣元素b(i,j)在傳遞到C中的一維數組大data後對應於data[j*M+i]
。
輸入數據是在函數調用之前已經在Matlab里申請了內存的,由於mex函數與Matlab共用同一個地址空間,因而在prhs[]里傳遞指針就可以達到參數傳遞的目的。但是,輸出參數卻需要在mex函數內申請到內存空間,才能將指針放在plhs[]中傳遞出去。由於返回指針類型必須是mxArray,所以Matlab專門提供了一個函數:mxCreateDoubleMatrix來實現內存的申請,函數原型如下:
mxArray
*mxCreateDoubleMatrix(int
m,
int
n,
mxComplexity
ComplexFlag)
m:待申請矩陣的行數
n:待申請矩陣的列數
為矩陣申請內存後,得到的是mxArray類型的指針,就可以放在plhs[]里傳遞回去了。但是對這個新矩陣的處理,卻要在函數內完成,這時就需要用到前面介紹的mxGetPr。使用
mxGetPr獲得指向這個矩陣中數據區的指針(double類型)後,就可以對這個矩陣進行各種操作和運算了。下面的程序是在上面的show.c的基礎上稍作改變得到的,功能是將輸
//reverse.c
1.0
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*inData;
double
*outData;
int
M,N;
int
i,j;
inData=mxGetPr(prhs[0]);
M=mxGetM(prhs[0]);
N=mxGetN(prhs[0]);
plhs[0]=mxCreateDoubleMatrix(M,N,mxREAL);
outData=mxGetPr(plhs[0]);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
outData[j*M+i]=inData[(N-1-j)*M+i];
}
當然,Matlab里使用到的並不是只有double類型這一種矩陣,還有字元串類型、稀疏矩陣、結構類型矩陣等等,並提供了相應的處理函數。本文用到編制mex程序中最經常遇到的一些函數,其餘的詳細情況清參考Apiref.pdf。
通過前面兩部分的介紹,大家對參數的輸入和輸出方法應該有了基本的了解。具備了這些知識,就能夠滿足一般的編程需要了。但這些程序還有些小的缺陷,以前面介紹的re由於前面的常式中沒有對輸入、輸出參數的數目及類型進行檢查,導致程序的容錯性很差,以下程序則容錯性較好
#include
"mex.h"
void
mexFunction(int
nlhs,
mxArray
*plhs[],
int
nrhs,
const
mxArray
*prhs[])
{
double
*inData;
double
*outData;
int
M,N;
//異常處理
//異常處理
if(nrhs!=1)
mexErrMsgTxt("USAGE:
b=reverse(a)\n");
if(!mxIsDouble(prhs[0]))
mexErrMsgTxt("the
Input
Matrix
must
be
double!\n");
inData=mxGetPr(prhs[0]);
M=mxGetM(prhs[0]);
N=mxGetN(prhs[0]);
plhs[0]=mxCreateDoubleMatrix(M,N,mxREAL);
outData=mxGetPr(plhs[0]);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
outData[j*M+i]=inData[(N-1-j)*M+i];
}
在上面的異常處理中,使用了兩個新的函數:mexErrMsgTxt和mxIsDouble。MexErrMsgTxt在給出出錯提示的同時退出當前程序的運行。MxIsDouble則用於判斷mxArray中的數據是否double類型。當然Matlab還提供了許多用於判斷其他數據類型的函數,這里不加詳述。
需要說明的是,Matlab提供的API中,函數前綴有mex-和mx-兩種。帶mx-前綴的大多是對mxArray數據進行操作的函數,如mxIsDouble,mxCreateDoubleMatrix等等。而帶mx前綴的則大多是與Matlab環境進行交互的函數,如mexPrintf,mxErrMsgTxt等等。了解了這一點,對在Apiref.pdf中查找所需的函數很有幫助。
至此為止,使用C編寫mex函數的基本過程已經介紹完了。
H. MATLAB工具箱是怎樣的
MATLAB附帶了很多工具箱(Toolbox),而且每次發布新版本時,工具箱幾乎都要增加。按回F1鍵打開MATLAB的「Help」,答在窗口左邊顯示了MATLAB所有的工具箱。
一般來說,每個工具箱針對一個具體的問題,如圖像處理工具箱(ImageProcessingToolbox)專門針對數字圖像處理問題,偏微分方程工具箱()是偏微分方程(組)求解函數的集合。一個工具箱中包含若干函數。實際上,工具箱也是一個函數庫,在功能方面與MATLAB主體中的數值計算和數據可視化部分相同。但有一點區別:主體部分的核心函數都是內置函數,是用C語言編寫並編譯過的;而工具箱中的函數都是基於MATLAB的二次開發,即用MATLAB語言寫的.m文件。用Editor打開這些文件,就可以看到源代碼。
MATLAB工具箱一般具有較深厚的專業背景。本篇基本不涉及工具箱的內容。在下篇中,將從實例出發,在用到某工具箱時,對該工具箱進行簡單介紹。
I. 求一個能把matlab轉換成c語言的軟體
哈哈,應當是不能轉。
要不然就賣不了錢了。
不過它有LCC編譯器,可以實現MATLAB與C混合編程。
J. MATLAB工具箱有哪些作用
MATLAB附帶了很多工具箱(Toolbox),而且每次發布新版本時,工具箱幾乎都要增加版。按F1鍵打開MATLAB的「權Help」,在窗口左邊顯示了MATLAB所有的工具箱。
一般來說,每個工具箱針對一個具體的問題,如圖像處理工具箱(Image.Processing.Toolbox)專門針對數字圖像處理問題,偏微分方程工具箱(Partial.Differential.Equation.Toolbox)是偏微分方程(組)求解函數的集合。一個工具箱中包含若干函數。實際上,工具箱也是一個函數庫,在功能方面與MATLAB主體中的數值計算和數據可視化部分相同。
但有一點區別:主體部分的核心函數都是內置函數,是用C語言編寫並編譯過的;而工具箱中的函數都是基於MATLAB的二次開發,即用MATLAB語言寫的.m文件。用Editor打開這些文件,就可以看到源代碼。