MATLAB 中的嵌套函数
任何编程语言中的函数都是一些代码块,只需调用名称即可在需要时重复使用。它减少了大量的人力和重写相同的代码,并使整个代码变大。
声明一个函数:
为了在 MATLAB 中声明一个函数,我们使用下面给出的:
句法:
function [x1,x2,...,xn] = myfunc(k1,k2,...,km)
让我们先了解一下语法。这里, myfunc 是函数的名称。 x1,x2,…,xn 是发送给函数的参数,k1,k2,…,kn 是获得的输出。
示例 1:
Matlab
% MATLAB function of adding two numbers
function x = multiply(a,b)
x= a*b;
end
Matlab
% MATLAB function for Nested function
function parentfunc
disp('I am a parent function')
nestedfunc
function nestedfunc
disp('I am a nested function')
end
end
Matlab
% MATLAB Code for share variables from the
% nested function to the main function
function parent
nestedfunc
function nestedfunc
x = 5;
end
x = x+1;
disp(x);
end
Matlab
% MATLAB Code for more than one function
% under the same parent function
function parent
nestedfunc1
nestedfunc2
function nestedfunc1
fprintf('GFG\n');
end
function nestedfunc2
fprintf('GeeksforGeeks');
end
end
Matlab
% MATLAB code for two nested functions,
% under the same parent function
function parent
x = 5
nested1
nested2
function nested1
x = x*2;
end
function nested2
x = x+5;
end
disp(x)
end
Matlab
% MATLAB Code for handle nested functions with
% the help of the parent function
function parentfun
x = 5;
a = nestedfunc;
function b = nestedfunc
b = x + 1;
fprintf('GFG\n');
end
disp(a);
end
输出:
嵌套函数:
当您在另一个父函数下声明一个函数时,它被称为嵌套函数。
示例 2:
MATLAB
% MATLAB function for Nested function
function parentfunc
disp('I am a parent function')
nestedfunc
function nestedfunc
disp('I am a nested function')
end
end
输出:
好处:
- 在嵌套函数中,您也可以使用那些不一定作为用户输入参数传递的变量。
- 从父函数,您可以控制嵌套函数的工作,即,您可以处理运行嵌套函数所需的数据。
嵌套函数的特点:
您还可以将变量从嵌套函数共享到主函数。
示例 3:
MATLAB
% MATLAB Code for share variables from the
% nested function to the main function
function parent
nestedfunc
function nestedfunc
x = 5;
end
x = x+1;
disp(x);
end
输出:
您可以在同一个父函数下嵌套多个函数。
示例 4:
MATLAB
% MATLAB Code for more than one function
% under the same parent function
function parent
nestedfunc1
nestedfunc2
function nestedfunc1
fprintf('GFG\n');
end
function nestedfunc2
fprintf('GeeksforGeeks');
end
end
输出:
您可以在同一个父函数下的两个嵌套函数之间共享变量。
示例 5:
MATLAB
% MATLAB code for two nested functions,
% under the same parent function
function parent
x = 5
nested1
nested2
function nested1
x = x*2;
end
function nested2
x = x+5;
end
disp(x)
end
输出:
您还可以使用父函数中的变量在父函数的帮助下处理嵌套函数。
示例 6:
MATLAB
% MATLAB Code for handle nested functions with
% the help of the parent function
function parentfun
x = 5;
a = nestedfunc;
function b = nestedfunc
b = x + 1;
fprintf('GFG\n');
end
disp(a);
end
输出: