1、文件结构

|–根目录
   |–main.m
   |–CallbackFunc.m
      |–callback
         |–CallbackFunc2.m

2、程序

1、同一文件夹下函数调用

创建CallbackFunc.m,用于存放子函数

function Funcollect  = CallbackFuncFuncollect.myfun = @myfun;Funcollect.func = @func;
endfunction f = myfun(a,x)f = a + a*exp(-0.02*a*x);
endfunction y = func(x)if x < 0y = abs(x);else y = cos(x) + x;end
end

创建main.m,作为主函数
其中,main.mCallbackFunc.m在同一文件夹下(后面会讲到不在同一文件夹下的调用)

Funcollect  = CallbackFunc;
y = Funcollect.func(-2);
disp(y)

运行结果:

>> main2

2、不同文件夹下函数调用

上面例子介绍了在同一文件夹下的.m相互调用。但是在实际项目中,很多时候我们为了将程序模块化,通常将不同功能的函数放到固定的文件夹内。那么我们怎么调用不同文件夹内的文件,其实很简单,请往下看:

在程序前添加代码:addpath(genpath(pwd));
将当前文件夹下的所有文件夹都包括进调用函数的目录 ...
就是:addpath, genpath两个函数
添加 myfiles 和它的子目录到搜索路径中:
addpath(genpath('c:/matlab/myfiles'))

这里我把添加路径单独摘出方便大家复制

addpath(genpath('c:/matlab/myfiles'))

OK,为了方便大家理解,我们下面用实例说明:

首先在callback文件夹下创建CallbackFunc2.m(是CallbackFunc2.m哦!)

function Funcollect  = CallbackFunc2Funcollect.myfun = @myfun;Funcollect.func = @func;
endfunction f = myfun(a,x)f = a + a*exp(-0.02*a*x);
endfunction y = func(x)if x < 0y = abs(x);else y = cos(x) + x;end
end

返回到上一级文件夹中的main.m,更改程序为:

addpath(genpath('E:\网上下载\Matlab_Lesson\CaiNiaojc_Lesson\callback'))Funcollect  = CallbackFunc2;
y = Funcollect.func(-2);           %(是`CallbackFunc2.m`哦!)
disp(y)

运行结果:

>> main2

Matlab函数调用(简明教程)相关推荐

  1. matlab中没有linearmodel,MATLAB线性代数简明教程(Linear Algebra Using MATLAB)

    MATLAB线性代数简明教程(Linear Algebra Using MATLAB) 编辑 锁定 讨论 上传视频 <MATLAB线性代数简明教程(Linear Algebra Using MA ...

  2. python程序设计简明教程知识点总结_Python程序设计简明教程 在线阅读

    介绍\u201CPython编程简明教程\u201D解释了Python语言的基本知识和基本应用技能与简洁的语言和易于理解的例子.\u201CPython编程简明教程\u201D由9章,主要解释Pyth ...

  3. 数学建模层次分析法例题及答案_【热门推荐】影响力意志力创新力、数学建模简明教程...

    <影响力•意志力•创新力> 索书号:B848.4-49/1028 作者:邢群麟编著 出版社:浙江工商大学出版社,2018 馆藏地:新馆304室 简介:本书在总结众多成功人士经验的基础上, ...

  4. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程

    文章目录 1.驱动进化之路:设备树的引入及简明教程 1.1 设备树的引入与作用 1.2 设备树的语法 1.2.1 Devicetree格式 1.2.1.1 DTS文件的格式 1.2.1.2 node的 ...

  5. 计算机简明教程实验总结,《大学物理实验简明教程》.pdf

    陕西师范大学教材建设基金资助出版 大学物理实验简明教程 (非物理专业用) 主编 唐纯青 隋 峰 陕西人民出版社 PDF 文件使用 "pdfFactory Pro" 试用版本创建 容 ...

  6. Boost.Build 简明教程

    Boost.Build简明教程(译) Written by Boris Schäling. 历史: 2018-12-20 姚彧 第一版 目录 介绍 Introduction 生成过程 Build pr ...

  7. 一个包含简明教程的网站:cheat-sheets.org

    你听过Cheat-Sheets.org吗?在这里可以看到各种简明教程,包含了大部分的编程语言,C++.C#.Jave.Python.sql.html.css.matlab.qt.mfc.shell.R ...

  8. 驱动进化之路:设备树的引入及简明教程

    驱动进化之路:设备树的引入及简明教程 设备树的基本概念和产生背景 问题1: 以LED为例,当要更换LED所用的GPIO引脚时,需要修改驱动程序源码,重新编译驱动,重新加载驱动. 问题2: 由于芯片种类 ...

  9. Visual C++ MFC 简明教程

    原著:Marshall Brain 编译:张圣华 第一部分:MFC导论 Visual C++ 不仅仅是一个编译器.它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专 ...

  10. 基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了

    基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了 进入21世纪,新的编程语言如雨后春笋一样不停地冒出来.需求当然是重要的驱动力量,但是在其中起了重要作用的就是工具链的改善. 2000年 ...

最新文章

  1. 他们提出了一个大胆的猜想:GWT(深度学习)→通用人工智能
  2. linux下的科学软件下载,十分科学app-十分科学官网版下载v1.4.3-Linux公社
  3. 【星球知识卡片】深度学习图像降噪有哪些关键技术点,如何学习
  4. 在Linux系统中构建虚拟网络
  5. python使用tkinter做界面之颜色
  6. oracle 12c sql图形化,Oracle 12c PL/SQL程序设计终极指南
  7. JavaScript的作用域详解
  8. 谈谈CSMA/CD,TCP中的二进制指数退避算法
  9. 运动状态下,百度人脸识别返回结果跟当前帧可能不一致
  10. 删除magisk模块
  11. 丰桥自助打印顺丰面单
  12. CAD VCL Multiplatform SDK 定制Crack
  13. layim之刷新群聊列表
  14. 教你游泳【附动画组图】
  15. 计算机如何新增硬盘,电脑新增加一块硬盘安装并使用的教程
  16. 去掉ubuntu下windows文件夹绿色背景
  17. java smtp pop3_POP3、SMTP和IMAP之间的区别和联系
  18. MySQL-基础-数据库和数据表
  19. 学计算机的女生的一生,人工智能专业适合女生学吗
  20. 河南地图网 vs Google maps —— 河南地图网横向评测

热门文章

  1. HTML5期末大作业:网站——保护动物网站HTML+CSS
  2. ecshop nginx php,Nginx网站架构实战——10、安装ecshop
  3. 利用MATLAB软件对数码相机进行检校
  4. JavaWeb.servlet基本使用
  5. 2020A参数折磨人系列
  6. http综合练习-给openlab搭建网站
  7. 自考工商管理要考计算机吗,工商管理自考本科需要考哪些科目
  8. 街霸真人版 Sagat vs 豪鬼 瞬狱杀的真实面目
  9. 题目:16版.饲养员喂养动物
  10. anltr oracle,Antlr4官方参考手册