Matlab 版 (精华区)
发信人: bage (最近比较烦), 信区: Matlab
标 题: Matlab详细教程(四十)
发信站: 哈工大紫丁香 (Sun Feb 4 13:04:56 2001), 转信
发信人: finance (淼水), 信区: MathTools
发信站: BBS 水木清华站 (Sat Apr 3 16:53:35 1999)
4.5 使用者自定函数
--------------------------------------------------------------------------------
我们在第二章提过的 M-file 除了可以撰写程式外,还有另一个重要的用途,就是可以用来定义函数。这样的函数称为M-档定义的函数,然后储存起来,就可以和那些内建的函数(如sin, cos,log等)一样的自由使用。举例来说,我们可以定义一函数cirarea是计算圆的面积,以下的
M-file: cirarea.m就是定义这个函数
% M-file function, cirarea.m
% Calculate the area of a circle with raduis r
% r can be a scalar or an array
function c=cirarea(r)
c=pi*r.^2;
令一个例子是MATLAB内建的函数linspace
function y = linspace(d1, d2, n)
% LINSPACE Linearly spaced vector.
% LINSPACE(x1, x2) generates a row vector of 100 linearly
% equally spaced points between x1 and x2.
% LINSPACE(x1, x2, N) generates N points between x1 and x2.
%
% See also LOGSPACE, :.
% Copyright (c) 1984-94 by The MathWorks, Inc.
if nargin == 2
n = 100;
end
y = [d1+(0:n-2)*(d2-d1)/(n-1) d2];
M-file定义的函数有其语法的一些规定:
第一行指令以function这个字做为起头,接著是输出的变数,等号,函数名称,输入的变数是接著函数名 称放在括号之内。function out1=userfun(in1),这行的out1是输出的变数,userfun是函数名称,in1是输入的 变数。function [out1, out2]= serfun(in1, in2) 如果输出变数
[out1,out2] 和输入变数 (in1, in2)不只一个时,则在 输出变数部份须加上 [ ]。
上述的输入变数是经由使用函数时输入的,而输出的变数即是函数传回的值。
函数名称的取法的规定与一般变数相同。
在定义函数程式之前,最好加上注解行来说明这个函数的特色及如何使用,如此的话使用指令如help cirarea,该函数的注解行会出现在指令视窗。
>> r=1:3;
>> ar=cirarea(r) % 呼叫 cirarea.m 函数,以阵列 r 为输入变数
ar =
3.1416 12.5664 28.2743
>> disp(ar) % 指令 disp 可以将变数值直接列出
3.1416 12.5664 28.2743
--------------------------------------------------------------------------------
上一页 下一页 讲义大纲
--
行至水穷处,坐看云起时
***********************
菩提本无树,明镜亦非台
本来无一物,何处染尘埃
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bage.bbs@smth.org]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.294毫秒