matlab句柄函数使用

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

概述

  在MATLAB平台中,对函数的调用方法分为直接调用法和间接调用法。文章来源地址https://www.toymoban.com/news/detail-577070.html

  • 直接调用函数,被调用的函数通常被称为子函数。但是子函数只能被与其M文件同名的主函数或在M文件中的其他函数所调用,一个文件中只能有一个主函数。
>> str = 'hello world';
>> size(str)

ans =

     1    11
  • 使用函数句柄对函数进行调用可以避免上述问题。函数句柄提供了一种间接调用函数的方法。创建函数句柄需要用到操作符@。对MATLAB库函数中提供的各种M文件中的函数和使用者自主编写的程序中的内部函数,都可以创建函数句柄,从而可以通过函数句柄来实现对这些函数的间接调用。
>> str

str =

    'hello world'

>> size_hanlde = @size

size_hanlde =

  包含以下值的 function_handle:

    @size
>> size_hanlde(str)

ans =

     1    11

一些关于句柄的函数

函数名称 函数功能说明
functions(funhandle) 返回一个结构体,存储了函数的名称、函数类型(simple 或 overloaded),以及函数 M 文件的位置
func2str(funhandle) 将函数句柄转换为函数名称字符串
str2func(str) 将字符串代表的函数转换为函数句柄
save filename.mat funhandle 将函数句柄保存在*.mmat 文件中
load filename.mat funhandle 把*.mat 文件中存储的函数句柄加载到工作区
isa( var,‘function_handle’) 检测变量var 是否是函数句柄
isequal(funhandlea, funhandleb) 检测两个函数句柄是否对应同一个函数
>> a=@sin

a =

  包含以下值的 function_handle:

    @sin

>> b=@cos

b =

  包含以下值的 function_handle:

    @cos
functions(funhandle)
>> functions(a)

ans = 

  包含以下字段的 struct:

    function: 'sin'
        type: 'simple'
        file: ''
func2str(funhandle)
>> func2str(a)

ans =

    'sin'
str2func(str)
>> c=str2func("sin")

c =

  包含以下值的 function_handle:

    @sin

isa( var,‘function_handle’)
>> isa(a,'function_handle')

ans =

  logical

   1

isequal(funhandlea, funhandleb)

>> isequal(a,b)

ans =

  logical

   0

>> isequal(a,c)

ans =

  logical

   1

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

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

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

相关文章

  • 数学建模之MATLAB使用

    我们都知道MATLAB里面存在着数值计算和符号计算,但是两者之间到底是怎样的呢? 举一个很简单的例子,我们在高等数学里面的微积分学习时经常求不定积分,也就是原函数,这个过程实际上进行的就是符号运算,我们通过对一些变量字符x等等的运算,最后得出一个表达式

    2024年04月09日
    浏览(55)
  • 数学建模——matlab基本使用

    清除工作区:clear。 清屏:clc。 圆周率表示:pi。 lnx代码化:log(x)。 e^x代码化:exp(x) x代表次数。 sin(x):sin(x);cos(x):cos(x);tan(x):tan(x)  arcsin(x):asin(x);arccos(x):acos(x);arctan(x):atan(x). .*与*的区别:.*代表进行矩阵的数值运算 *代表进行矩阵的运算。(matlab的基本操作对象是矩阵)。

    2024年02月07日
    浏览(41)
  • matlab 函数句柄详解

    MATLAB中的函数句柄是一个非常重要的概念,可以让我们更加灵活地使用函数,并且可以提高代码的可读性和可维护性。本文将介绍MATLAB中函数句柄的基本概念、使用方法以及一些应用场景。希望能够帮助读者更好地理解和应用函数句柄。 一、函数句柄的基本概念 在MATLAB中,

    2024年02月10日
    浏览(38)
  • MATLAB中的函数句柄 理解

    https://zhuanlan.zhihu.com/p/266263265 https://blog.csdn.net/kevinhg/article/details/8861774 函数句柄也是MATLAB中的一种常见的数据类型,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。 它的作用是将一个函数封装成一个变量,使其能够像其它变量

    2024年02月03日
    浏览(31)
  • 西安石油大学数学建模校赛培训(2)matlab的使用

    MATLAB是MathWorks公司推出的一套高性能数值分析计算软件,其名字来源于\\\"Matrix Laboratory\\\"(矩阵实验室)的缩写。它将矩阵运算、数值分析、图形处理、编程技术等功能集成在一起,为科学计算、工程设计和数据分析提供了强大的平台。MATLAB的特点包括易于使用的高级编程语言、

    2024年03月28日
    浏览(43)
  • 数学建模中所需要使用到的Matlab(从零开始介绍)

    注意事项 :只有将Matlab的工作目录切换到当前文件夹中,才能运行当前程序。

    2024年02月13日
    浏览(89)
  • 数学建模-MATLAB三维作图

    导出图片用无压缩tif会更清晰 帮助文档:doc 函数名 新建实时脚本或右键文件转换为实时脚本 实时编辑器-全部运行-内嵌显示 保存为PDF

    2024年02月15日
    浏览(43)
  • Matlab数学建模实验题

    (1)用起泡法对10个数由小到大排序.即将相邻两个数比较,将小的调到前头。 (2)有一个4×5矩阵,编程求出其最大值及其所处的位置. (3)编程求 (4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次落地时,共经过多少米?第10次反弹有多高? (

    2024年02月11日
    浏览(53)
  • 数学建模-插值算法(Matlab)

    注意:代码文件仅供参考,一定不要直接用于自己的数模论文中 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231   //清风数学建模 简单来说是根据已知点进行线性数据预测,但数据太少需要通过数学方

    2023年04月26日
    浏览(54)
  • 数学建模实战Matlab绘图

    二维曲线、散点图 绘图命令: plot( x,y,’line specifiers’,’ PropertyName ’, PropertyValue ) 例子:绘图表示年收入与年份的关系 ‘--r*’:-- 设置线型; r: 设置颜色为红色; * 节点型号 ‘ linewidth ’:设置线宽;‘ markersize ’ :节点大小 常用命令: hold on(off):在一张图上持续绘图

    2024年01月21日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包