MATLAB函数结构

1.函数文件结构

Matlab:函数与脚本均为*.m文件,以function开头的文件一般为函数文件,否则是脚本文件。

函数文件以第一个函数为函数文件的主函数,外部文件只能调用主函数。

一般要求函数名与函数文件名同名,外部文件和脚本通过函数文件名寻找函数。

外部文件调用时,只在当前目录下寻找函数,如果需要其他文件夹下的函数,通过addpath()命令添加路径。

脚本文件内部可以写函数。

2.函数用法

函数需要声明输入与输出变量。函数结构为:

function [outputArg1,outputArg2] = untitled5(inputArg1,inputArg2)
%UNTITLED5 此处显示有关此函数的摘要
%   此处显示详细说明
	outputArg1 = inputArg1;
	outputArg2 = inputArg2;
end

在不同函数内部使用不同的堆栈,函数内部定义的函数(嵌套定义法)不可被其他函数调用。例如:

错误写法:

function [outputArg1,outputArg2] = test2(inputArg1,inputArg2)
%	test函数
%   funson1为test2所有(嵌套定义),不能被funson2调用
	function [output1] = funson1(inputq)
	output1 = inputq +8;
	end
	outputArg1 = funson1(inputArg1)+8;
	outputArg2 = sunson2(inputArg2)+9;
end

function [output2] = funson2(inputq)
	output2 = funson1(inputq)+3;%调用失败报错
end

正确写法:

function [outputArg1,outputArg2] = test2(inputArg1,inputArg2)
%	test函数
%   funson1(非嵌套定义)和funson2均为公有,可以被test2调用,也可以互相调用
	outputArg1 = funson1(inputArg1)+8;
	outputArg2 = sunson2(inputArg2)+9;
end

function [outputArg1] = funson1(inputq)
	outputArg1 = inputq +8;
end

function [output2] = funson2(inputq)
	output2 = funson1(inputq)+3;
end

函数可以多输入,多输出,使用方法为:

[a,b] = functiontest(1,2)

函数文件中,子函数可以使用同名变量,但是在嵌套定义中,子函数与主函数共享堆栈变量名,尽量不要定义与其它子函数或主函数相同的变量。非嵌套的定义则无所谓。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值