matlab 自定義函數及調用


這一篇博客主要學習了:

第一,自定義函數優點有很多,比如可重復利用;容易糾錯,以后直接裝入大工程里(更重要的是,實參是復制給形參的,在自定義函數中運行時形參獨立顯示,這一點和C不一樣)。

第二,通過help/lookfor 自定義函數名 快速查找到自己所寫的函數(H1注釋行功能)

第三,調試功能

自定義函數代碼:

function  distance = dist(x1, y1, x2, y2) %寫在首行
%自定義函數
%腳本文件:dist.m
%函數功能:
% 該函數用來計算笛卡爾坐標系中兩點之間的距離,兩個點的坐標通過形參輸入(4% 學習H1注釋行的使用,及函數的調用
%DIST函數:計算計算笛卡爾坐標系中兩點之間的距離
%
%應用示例:
% res =dist(x1, y1, x2, y2)
% 
% 定義變量:
% x1              ---位置1的x坐標
% y2              ---位置2的y坐標
% x1              ---位置1的x坐標
% y2              ---位置2的y坐標
% 
% 版本記錄:
%       日期           負責人             版本描述
%       2015-10-9 10   王茂春             源代碼

% 計算距離
  distance = sqrt((x2-x1).^2 + (y2-y1).^2);

調用代碼:

% 腳本文件: test_dist.m
% 
% 目標: 實際調用自定義函數dist

% 定義變量:
% a1              ---位置a的x坐標
% b2              ---位置b的y坐標
% a1              ---位置a的x坐標
% b2              ---位置b的y坐標
% 
% 版本記錄:
%       日期           負責人             版本描述
%       2015-10-9 10   王茂春             源代碼

%獲取輸入數據
disp('計算笛卡爾坐標系中兩點之間的距離');
ax =input ('輸入位置a的x坐標: ');
ay =input ('輸入位置a的y坐標: ');
bx =input ('輸入位置b的x坐標: ');
by =input ('輸入位置b的y坐標: ');

%調用函數
result =dist(ax, ay, bx, by);

%輸出結果
fprintf('笛卡爾坐標系中兩點之間的距離是:%f\n',result);

運行效果就不說了,正確。重要的是思想!

--------------------------------------------------------------------------------

第二,通過help查找

通過lookfor查找:

第三,斷點測試:

為了仔細觀察工作區在函數執行前后的變化, 我們將在MATLAB調試器中加載函數dist2
和腳本文件 test_dist2。在函數加載前,加載中,加載后設置斷點(如圖 5.1 所示) 。
當程序中止在函數調用之前的斷點,它的工作區如圖 5.2(a)所示。注意工作區中只有變
量 ax,ay,bx 和 by。當程序中止在函數調用過程中的斷點,它的工作區如圖 5.2(b)所示。
注意工作區中只有變量 x1,x2,y1,y2 和 distance。當程序中止在函數調用后的斷點,它的
工作區如圖 5.2(c)所示。 注意工作區中原來的變量又重復出現, 再加上函數返回的變量 result。
函數加載前:

加載中:

加載后:

所以,這個互相獨立的調試確實很好!學習了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM