加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《Matlab学习笔记05》自定义函数输入与输出参数个数问题

(2014-10-08 19:50:26)
分类: Matlab学习
matlab中的内置函数需要包括四个部分:
1,引导词function;
2,函数的输出变量;
3,函数的名称;
4,函数的输入变量.
形如:function output=function(x),且要注意,函数名必须和M文件名相同。
一,内置函数是单输入单输出函数
例子:用内置函数编写一个将角度转化为弧度的程序,并按列表打印出来:
我们先编写内置函数DR,在保存的时候也要用这个名字即,DR.m:
function output=DR(x);
output=x*pi/180;
然后再后面调用它:
clear,clc;
degrees=0:15:180;
radians=DR(degrees);
radians_degrees=[degrees;radians]'
输出:
degrees_radians =

         0         0
   15.0000    0.2618
   30.0000    0.5236
   45.0000    0.7854
   60.0000    1.0472
   75.0000    1.3090
   90.0000    1.5708
  105.0000    1.8326
  120.0000    2.0944
  135.0000    2.3562
  150.0000    2.6180
  165.0000    2.8798
  180.0000    3.1416
二,内置函数是多输入,单输出函数
编写函数z(w,x,y)=w*exp(x/y):
function output=f(w,x,y);
cal=w.*exp(x./y);
output=cal;
调用时:
a=f(1,5,6)
得到结果:
a =

    2.3010
三、内置函数是单输入,多输出的函数
编写函数实现f1(x)=exp(x),f2(x)=ln(x):
function [f1,f2]=output(x);
f1=exp(x);
f2=log(x);
调用时:
[f1,f2]=output(2)
输出:
f1 =

    7.3891


f2 =

    0.6931
四、内置函数是多输入,多输出的函数
编写函数实现f(x,y)=y*exp(x),f(x,y)=x*exp(y):
function [f1,f2]=output(x,y);
f1=y.*exp(x);
f2=x.*exp(y);
调用时:
[f1,f2]=output(10,2)
输出:
f1 =

   4.4053e+04


f2 =

   73.8906
五、没有输入或者输出的函数或者是不确定的输入个数
对于没有输入或者输出的函数的定义,我们很快就能联想到C语言中的函数定义void f(void),Matlab和它一样,如下定义:
function []=f();
对于输入参数不一定的函数我们用:
function []=f(varargin);
函数varargin说明了函数可以接受不用数量的输入参数。
六、函数的输出和输出的个数
Matlab提供命令查询内置函数的输入与输出的情况:
nargin函数用来查询函数的输入参数的个数,用法是nargin('函数名')
nargout函数用来查询函数的独立输出参数的个数(独立的矩阵),用法是nargout('函数名')
如果函数输入的参数是不一定的,如surf和mesh这样的函数,利用nargin这个函数就会返回一个负值






0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有