做网站好还是阿里巴巴,百度旧版本下载,有哪些做的推文排版的网站,哪个网站的图片专门做详情页的MATLAB 函数 函数是一起执行任务的一组语句。在MATLAB中#xff0c;函数是在单独的文件中定义的。文件名和函数名应该相同。
函数在其自己的工作空间#xff08;也称为本地工作空间#xff09;中对变量进行操作#xff0c;与在MATLAB命令提示符下访问的工作空间#xff0…MATLAB 函数 函数是一起执行任务的一组语句。在MATLAB中函数是在单独的文件中定义的。文件名和函数名应该相同。
函数在其自己的工作空间也称为本地工作空间中对变量进行操作与在MATLAB命令提示符下访问的工作空间称为基本工作空间不同。
函数可以接受多个输入参数并且可以返回多个输出参数。
函数语句的语法是-
function [out1,out2, …, outN] myfun(in1,in2,in3, …, inN) 在线示例 以下名为mymax的函数应写入名为mymax.m的文件中。它以五个数字作为参数并返回最大的数字。
创建一个函数文件命名mymax.m并在其中输入以下代码-
function max mymax(n1, n2, n3, n4, n5)
%此函数用于计算 %输入五个数字 max n1; if(n2 max) max n2; end if(n3 max) max n3; end if(n4 max) max n4; end if(n5 max) max n5; end 函数的第一行以关键字 function开头 。它给出了函数的名称和参数的顺序。在我们的示例中mymax函数具有五个输入参数和一个输出参数。
函数语句后的注释行提供帮助文本。当您键入以下内容时将打印这些行
help mymax MATLAB将执行上述语句并返回以下结果-
This function calculates the maximum of the five numbers given as input 您可以将函数称为-
mymax(34, 78, 89, 23, 11) MATLAB将执行上述语句并返回以下结果-
ans 89 匿名函数 匿名函数就像传统编程语言中的内联函数一样是在单个MATLAB语句中定义的。它由一个MATLAB表达式以及任意数量的输入和输出参数组成。
您可以直接在MATLAB命令行或在函数或脚本中定义匿名函数。
这样您可以创建简单的功能而不必为其创建文件。
从表达式创建匿名函数的语法是
f (arglist)expression 实例 在此示例中我们将编写一个名为power的匿名函数该函数将两个数字作为输入并将第一个数字提高为第二个数字的幂。
创建一个脚本文件并在其中键入以下代码-
示例 power (x, n) x.^n; result1 power(7, 3) result2 power(49, 0.5) result3 power(10, -10) result4 power (4.5, 1.5) 运行文件时它显示-
result1 343 result2 7 result3 1.0000e-10 result4 9.5459 主和子函数 必须在文件中定义除匿名函数以外的任何函数。每个函数文件都包含一个首先出现的必需主函数以及在主函数之后并由其使用的任意数量的可选子函数。
可以从定义主文件的文件外部从命令行或其他函数调用主函数但是不能从命令行或其他函数在功能文件外部调用子函数。
子函数仅对主函数和定义它们的函数文件中的其他子函数可见。
实例 让我们写一个名为quadratic的函数来计算一个二次方程的根。该函数包含三个输入二次系数、线性系数和常数项。它将回归根。
函数文件quadratic.m将包含主函数quadratic和子函数disc后者计算判别式。
创建一个函数文件 quadratic.m 并在其中输入以下代码
function [x1,x2] quadratic(a,b,c)
%此函数返回 %二次方程。 %它需要3个输入参数 %x2x和 %常数项 %它返回根 d disc(a,b,c); x1 (-b d) / (2a); x2 (-b - d) / (2a); end % end of quadratic
function dis disc(a,b,c) %函数计算判别式 dis sqrt(b^2 - 4ac); end % end of sub-function 您可以从命令提示符处调用上述功能如下所示
quadratic(2,4,-4) MATLAB将执行上述语句并返回以下结果-
ans 0.7321 嵌套函数 您可以在另一个函数的主体内定义函数。这些称为嵌套函数。嵌套函数包含任何其他函数的任何或所有组件。
嵌套函数在另一个函数的范围内定义它们共享对包含函数的工作区的访问。
嵌套函数遵循以下语法-
function x A(p1, p2) … B(p2) function y B(p3) … end … end 实例 让我们重写前面实例中的quadratic函数不过这次disc函数将是一个嵌套函数。
创建一个函数文件quadratic2.m并在其中输入以下代码-
function [x1,x2] quadratic2(a,b,c) function disc %嵌套函数 d sqrt(b^2 - 4ac); end % 结束函数disc
disc; x1 (-b d) / (2a); x2 (-b - d) / (2a); end %结束函数 quadratic2 您可以从命令提示符处调用上述函数如下所示
quadratic2(2,4,-4) MATLAB将执行上述语句并返回以下结果-
ans 0.73205 私有函数 私有函数是仅对有限的一组其他函数可见的主函数。如果不想公开函数function(s)的实现可以将它们创建为私有函数。
私有函数位于具有特殊名称 Private 的子文件夹中。
它们仅对父文件夹中的函数可见。
实例 让我们重写quadratic函数。不过这一次disc函数计算判别式将是一个私有函数。
在工作目录文件夹中创建一个名为 private 的子文件夹在其中存储以下函数文件 disc.m
function dis disc(a,b,c) %函数计算判别式 dis sqrt(b^2 - 4ac); end %子函数结束 在您的工作目录中创建一个函数 quadratic3.m 并在其中输入以下代码-
function [x1,x2] quadratic3(a,b,c)
% 这个函数返回 % 一元二次方程。 它需要3个输入参数 % 它们是 x2x 和 % 常数项 % 它返回根 d disc(a,b,c);
x1 (-b d) / (2a); x2 (-b - d) / (2a); end %结束 quadratic3 您可以从命令提示符处调用上述函数如下所示
quadratic3(2,4,-4) MATLAB将执行上述语句并返回以下结果-
ans 0.73205 全局变量 全局变量可以由多个函数共享。为此您需要在所有函数中将变量声明为全局变量。
如果要从基本工作空间访问该变量请在命令行中声明该变量。
全局声明必须在变量实际在函数中使用之前发生。最好将大写字母用作全局变量的名称以将其与其他变量区分开。
实例 让我们创建一个名为average.m的函数文件并在其中输入以下代码-
function avg average(nums) global TOTAL avg sum(nums)/TOTAL; end 创建一个脚本文件并在其中键入以下代码-
global TOTAL; TOTAL 10; n [34, 45, 25, 45, 33, 19, 40, 34, 38, 42]; av average(n) 运行文件时它将显示以下结果-
av 35.500