函數文件或者腳本文件,MATLAB的m文件分為兩種。
一種為腳本文件,就是由一堆命令構成的,裏面第一行不是 function 開頭,這種文件比如是myfun.m 就在命令窗口裏輸入myfun回車就行,matlab會把m文件中的命令都運行一次。
另一種為函數文件,第一行為function ,比如説 function y=myfun(x),這種文件函數名與文件名必須是一致的,在命令窗口裏輸入myfun(x), x是運行參數,回車即運行。
要注意的是,不同於C語言,matlab的m文件不允許腳本和函數在同一個m文件中。
.m* 中的*表示目前該文件被修改後,還沒有保存。
擴展資料:
MATLAB是解釋型語言,就是説MATLAB命令行中敲入的命令在當前MATLAB進程中被解釋運行。但是,每次執行一個任務時敲入長長的命令序列是很煩人的。有兩種方法可以使MATLAB的力量得到擴展——腳本和函數。
這兩種方法都用像emacs一樣的文本編輯器中編寫的.m文件。m文件的好處在於它可以保存命令,還可以輕易地修改命令而無需重新敲入整個命令行。
參考資料來源:百度百科-m (文件格式)
2.MATLAB中M文件的編寫與調試的過程是什麼1、安裝編譯器。
可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2005實現。2、設置編譯器。
在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。3、調用編譯器。
此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。
具體使用方法請Help。當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;注:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc -mfilaname;4、安裝matlab pathtoolboxcompilerdeploywin32目錄下的MCRInstaller。
5.有時候我們會需要file.m文件有參數傳遞,像下面的代碼的一樣:我們要傳一個參數ms進去,但是在控制枱下運行file.exe '5'後面參數只能是字符串。所以我們在M文件中把它進類型轉換。
MATLAB 產品族可以用來進行以下各種工作: ● 數值分析 ● 數值和符號計算 ● 工程與科學繪圖 ● 控制系統的設計與仿真 ● 數字圖像處理 技術 ● 數字信號處理 技術 ● 通訊系統設計與仿真 ● 財務與金融工程 MATLAB 的應用範圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用 MATLAB 函數集)擴展了 MATLAB 環境,以解決這些應用領域內特定類型的問題。
matlab特點 ●此高級語言可用於技術計算 ●此開發環境可對代碼、文件和數據進行管理 ●交互式工具可以按迭代的方式探查、設計及求解問題 ●數學函數可用於線性代數、統計、傅立葉分析、篩選、優化以及數值積分等 ●二維和三維圖形函數可用於可視化數據 ●各種工具可用於構建自定義的圖形用户界面 ●各種函數可將基於MATLAB的算法與外部應用程序和語言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成 MATLAB的優勢 (1)友好的工作平台和編程環境 MATLAB由一系列工具組成。這些工具方便用户使用MATLAB的函數和文件,其中許多工具採用的是圖形用户界面。
包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用於用户瀏覽幫助、工作空間、文件的瀏覽器。隨着MATLAB的商業化以及軟件本身的不斷升級,MATLAB的用户界面也越來越精緻,更加接近Windows的標準界面,人機交互性更強,操作更簡單。
而且新版本的MATLAB提供了完整的聯機查詢、幫助系統,極大的方便了用户的使用。簡單的編程環境提供了比較完備的調試系統,程序不必經過編譯就可以直接運行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
(2)簡單易用的程序語言 Matlab一個高級的矩陣/陣列語言,它包含控制語句、函數、數據結構、輸入和輸出和麪向對象編程特點。用户可以在命令窗口中將輸入語句與執行命令同步,也可以先編寫好一個較大的複雜的應用程序(M文件)後再一起運行。
新版本的MATLAB語言是基於最為流行的C++語言基礎上的,因此語法特徵與C++語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式。使之更利於非計算機專業的科技人員使用。
而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。 (3)強大的科學計算機數據處理能力 MATLAB是一個包含大量計算算法的集合。
其擁有600多個工程中要用到的數學運算函數,可以方便的實現用户所需的各種計算功能。函數中所使用的算法都是科研和工程計算中的最新研究成果,而前經過了各種優化和容錯處理。
在通常情況下,可以用它來代替底層程式語言,如C和C++ 。在計算要求相同的情況下,使用MATLAB的編程工作量會大大減少。
MATLAB的這些函數集包括從最簡單最基本的函數到諸如矩陣,特徵向量、快速傅立葉變換的複雜函數。函數所能解決的問題其大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數據的統計分析、工程中的優化問題、稀疏矩陣運算、複數的各種運算、三角函數和其他初等數學運算、多維數組操作以及建模動態仿真等。
(4)出色的圖形處理功能 圖形處理功能 MATLAB自產生之日起就具有方便的數據可視化功能,以將向量和矩陣用圖形表現出來,並且可以對圖形進行標註和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達式作圖。
可用於科學計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進和完善,使它不僅在一般數據可視化軟件都具有的功能(例如二維曲線和三維曲面的繪製和處理等)方面更加完善,而且對於一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數據的表現等),MATLAB同樣表現了出色的處理能力。
同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應的功能函數,保證了用户不同層次的要求。另外新版本的MATLAB還着重在圖形用户界面(GUI)的製作上作了很大的改善,對這方面有特殊要求的用户也可以得到滿足。
(5)應用廣泛的模塊集合工具箱 MATLAB對許多專門的領域都開發了功能強大的模。
3.matlab簡單的編寫M文件function y=m(t)
if t>=0 & t<1
y=t^2;
end
if t>=1 & t<2
y=t^2-1;
end
if t>=2 & t<3
y=t^2-2*t+1;
end
end
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
num=[];
num=100:999;
find(mod(num,21));
length(ans)
4.MATLAB編寫一個函數M文件%試試nargin nargout
function [y1,y2]=fun(x1,x2)
%函數定義
if nargin==1&nargout==1
y1=x1;
elseif nargin==1&nargout==2
y1=x1/2;
y2=x1/2;
elseif nargin==2&nargout==1
y1=x1+x2;
else nargin==2&nargout==2
y1=(x1+x2)/2;
y2=(x1+x2)/2;
end
5.如何把MATLAB的m文件與命令寫一起> [t,x]=ode45('ill',[0:50],[0.02,0.98]);
用ode45(四階龍格庫塔)法求解數值積分的庫函數
ill是自定義函數的文件名。[0,50]積分區間,[0.02,0.98]是初始值
[t,x]
顯示積分求解出的t值和x值
>> plot(t,x(:,1),t,x(:,2)),grid,pause
畫出tx圖,加網格,暫停
調用ode45接微分方程是不能寫在同一個m文件中的。但是你可以先寫函數ill保存為一個m文件,在寫調用程序到另一個m文件,兩個m文件在同一路徑下就行了