MATLAB之函数文件

这篇具有很好参考价值的文章主要介绍了MATLAB之函数文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、函数文件的基本结构

二、函数的调用

1.函数调用的格式

2.函数的递归调用


将特定的算法写成函数的形式,可以提高程序的可重复性和程序设计的效率。并且函数文件定义了输出参数和输入参数的对应关系,方便外部调用。事实上,MATLAB提供的标准函数都是由函数文件定义的。

一、函数文件的基本结构

 函数文件由function语句引导,其基本结构如下:

function 输出参数表=函数名(输入参数表)

函数体语句

其中,以function开头的一行为引导行,表示定义一个函数;

函数名的命名规则与变量名的命名规则一样;

在函数定义时,输入输出参数没有分配储存空间,称为形式参数,简称形参。当有多个形参时,形参之间用逗号分隔,组成形参表。当输出形参多于一个时,应用方括号括起来,构成一个输出矩阵 ;

将函数文件以函数名.m存盘,然后在MATLAB命令行窗口调用该函数。

例,编写函数文件,求半径为 r 的圆的面积和周长。并求r=10时的情况。

程序如下:

function [s,c]=fcircle(r)
s=pi*r*r;
c=2*pi*r;
end

 r=10时的情况如下:

>> [s,c]=fcircle(10)

s =

  314.1593


c =

   62.8319

二、函数的调用

1.函数调用的格式

 函数文件建好之后,就可以调用该函数,调用格式如下:

[输出实参表]=函数名(输入实参表)

在调用函数时,函数输入输出参数称为实际参数,简称实参。

要注意的是,函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个数一致,否则会出错。函数调用时,先将实参传给相应的形参,从而实现参数的传递,然后再执行函数的功能。 

MATLAB之函数文件

例,利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。转换公式为

MATLAB之函数文件

 程序如下:

function [rho,theta]=tran(x,y)
rho=sqrt(x*x+y*y);
theta=atan(y/x);
end

x=45,y=45时的情况如下:

>> [rho,the]=tran(45,45)

rho =

   63.6396


the =

    0.7854

实际上,MATLAB提供了直角坐标与极坐标之间的转换函数,发表如下。

(1)[th,r]=cart2pol(x,y):将直角坐标转换为极坐标。

(2)[x,y]=pol2cart(th,r):将极坐标转换为直角坐标。

>> [the,rho]=cart2pol(45,45)

the =

    0.7854


rho =

   63.6396


>> [x,y]=pol2cart(pi/4,45*sqrt(2))

x =

   45.0000


y =

    45

2.函数的递归调用

在MATLAB中,函数可以嵌套调用,即一个函数可以调用其他函数,甚至可以调用它自身。一个函数调用它自身称为函数的递归调用

例1,利用函数的递归调用,求n!

n!本身就是以递归的形式定义的:

显然,要求n!需要求(n-1)!,这时可以采用递归调用。

程序如下:

function f=factor(n)
if n<=1
    f=1;
else
    f=n*factor(n-1); %递归调用求(n-1)!
end

n=5的情况如下:

>> f=factor(5)

f =

   120

例2,在一个脚本文件main2.m中调用函数文件factor.m,求

MATLAB之函数文件

程序如下:

s=0;
n=input('Please input n=');
for i=1:n
    s=s+factor(i);
end
disp(['1到',num2str(n),'的阶乘和为:',num2str(s)])

n=5的情况如下:文章来源地址https://www.toymoban.com/news/detail-439168.html

>> main2
Please input n=5
1到5的阶乘和为:153

到了这里,关于MATLAB之函数文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux的基本权限(文件,目录)

    文章目录 前言 一、Linux权限的概念 二、Linux权限管理 1.文件访问者分类 2.文件类型和访问类型 3.文件访问权限的相关设置方法 三、目录的权限 四、权限的总结 Linux下一切皆文件,指令的本质就是可执行文件,直接安装到了系统的某种路径下   Linux 下有两种用户:超级用户(

    2024年02月12日
    浏览(47)
  • Linux下基本指令 -> ls指令 查看目录结构和文件信息

    ​  博主: 星尘不会落  博主主页:https://blog.csdn.net/zhanghgh  如果编写的博客中有任何错误,请指出,我会第一时间核实并更改。  该博客可能会随着博主的技术增进而改进。  Linux ls(英文全拼: list directory contents )命令用于显示指定工作目录下之内容(列出目前工作

    2024年02月07日
    浏览(50)
  • 通过postgresql的Ltree字段类型实现目录结构的基本操作

    将这种具有目录结构的excel表存储到数据库中,可以采用树型结构存储 上面是建一张表,并且插入一条根节点。这里我们的id是mybatisPuls提供的UUID,并且我们的path字段采用祖id+爷id+父id+子id的结构。这是处理excel表格的工具类 下面是将生成的ListMapString, String excel数据插入到e

    2024年02月12日
    浏览(41)
  • 文件目录:FCB、索引节点、目录结构

    FCB(文件控制块): 存放控制文件需要的各种信息的数据结构,以实现按名存取。FCB的有序集合称为文件目录,一个FCB就是一个文件目录项。 FCB包含了文件的基本信息、存取控制信息、使用信息。最重要还是文件名信息和物理存放外存地址的信息,实现了文件名和文件之间

    2024年02月10日
    浏览(50)
  • 文件管理---索引文件结构、位示图、树形目录结构

    操作系统中对软件的管理就是对文件的管理(基本单位) 逻辑结构:主要是概念当中的一些结构层次,主要有流式文件和记录式文件; 物理结构: 顺序文件结构:按照文件的逻辑顺序存储到物理结构当中,相当于给文件分配一个连续的存储空间,逻辑上是什么形式,物理上

    2024年01月19日
    浏览(35)
  • 【基本绘图注释函数】——MatLab画图

    在绘图中添加标签。此类函数的输入是一个字符串。MATLAB 中的字符串是用双引号 (\\\") 引起来的。 上面一部分画图代码这里省略 为y轴增加注释标签 增加图例。可以添加多个,参数之间用逗号隔开

    2024年02月16日
    浏览(40)
  • Linux文件目录结构

    使用 Linux 时,通过命令行输入 ls -l / 可以看到,在 Linux 根目录(/)下包含很多的子目录(称为一级目录),例如 bin、boot、dev 等。同时,各一级目录下还含有很多子目录(称为二级目录),比如 /bin/bash、/bin/ed 等。Linux 文件系统目录总体呈现树形结构,/ 根目录就

    2024年02月11日
    浏览(46)
  • 【100天精通python】Day19:文件及目录操作_基本文件操作

    目录 专栏导读  1 文件的创建打开和关闭 2.1 使用内置函数open(),close()创建打开和关闭

    2024年02月14日
    浏览(57)
  • 1、Linux 文件与目录结构

    Linux 文件 Linux 系统中一切皆文件。 Linux 目录结构 VI/VIM 编辑器 是什么 VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。 VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼

    2024年02月15日
    浏览(100)
  • 【Linux】Linux文件目录结构

    在 Linux 中,其文件目录结构是一颗类似于多叉树的结构,所有目录都在 / (根目录)下面,每个非叶节点代表一个目录,叶节点代表文件。 一般结构如下所示: usr :“Unix Software Resource” 的缩写,该目录包含用户使用的应用程序和文件,而不是系统使用的应用程序和文件,例

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包