Matlab函数调用(简明教程)
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.m
和CallbackFunc.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函数调用(简明教程)相关推荐
- matlab中没有linearmodel,MATLAB线性代数简明教程(Linear Algebra Using MATLAB)
MATLAB线性代数简明教程(Linear Algebra Using MATLAB) 编辑 锁定 讨论 上传视频 <MATLAB线性代数简明教程(Linear Algebra Using MA ...
- python程序设计简明教程知识点总结_Python程序设计简明教程 在线阅读
介绍\u201CPython编程简明教程\u201D解释了Python语言的基本知识和基本应用技能与简洁的语言和易于理解的例子.\u201CPython编程简明教程\u201D由9章,主要解释Pyth ...
- 数学建模层次分析法例题及答案_【热门推荐】影响力意志力创新力、数学建模简明教程...
<影响力•意志力•创新力> 索书号:B848.4-49/1028 作者:邢群麟编著 出版社:浙江工商大学出版社,2018 馆藏地:新馆304室 简介:本书在总结众多成功人士经验的基础上, ...
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十一)驱动进化之路:设备树的引入及简明教程
文章目录 1.驱动进化之路:设备树的引入及简明教程 1.1 设备树的引入与作用 1.2 设备树的语法 1.2.1 Devicetree格式 1.2.1.1 DTS文件的格式 1.2.1.2 node的 ...
- 计算机简明教程实验总结,《大学物理实验简明教程》.pdf
陕西师范大学教材建设基金资助出版 大学物理实验简明教程 (非物理专业用) 主编 唐纯青 隋 峰 陕西人民出版社 PDF 文件使用 "pdfFactory Pro" 试用版本创建 容 ...
- Boost.Build 简明教程
Boost.Build简明教程(译) Written by Boris Schäling. 历史: 2018-12-20 姚彧 第一版 目录 介绍 Introduction 生成过程 Build pr ...
- 一个包含简明教程的网站:cheat-sheets.org
你听过Cheat-Sheets.org吗?在这里可以看到各种简明教程,包含了大部分的编程语言,C++.C#.Jave.Python.sql.html.css.matlab.qt.mfc.shell.R ...
- 驱动进化之路:设备树的引入及简明教程
驱动进化之路:设备树的引入及简明教程 设备树的基本概念和产生背景 问题1: 以LED为例,当要更换LED所用的GPIO引脚时,需要修改驱动程序源码,重新编译驱动,重新加载驱动. 问题2: 由于芯片种类 ...
- Visual C++ MFC 简明教程
原著:Marshall Brain 编译:张圣华 第一部分:MFC导论 Visual C++ 不仅仅是一个编译器.它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专 ...
- 基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了
基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了 进入21世纪,新的编程语言如雨后春笋一样不停地冒出来.需求当然是重要的驱动力量,但是在其中起了重要作用的就是工具链的改善. 2000年 ...
最新文章
- 他们提出了一个大胆的猜想:GWT(深度学习)→通用人工智能
- linux下的科学软件下载,十分科学app-十分科学官网版下载v1.4.3-Linux公社
- 【星球知识卡片】深度学习图像降噪有哪些关键技术点,如何学习
- 在Linux系统中构建虚拟网络
- python使用tkinter做界面之颜色
- oracle 12c sql图形化,Oracle 12c PL/SQL程序设计终极指南
- JavaScript的作用域详解
- 谈谈CSMA/CD,TCP中的二进制指数退避算法
- 运动状态下,百度人脸识别返回结果跟当前帧可能不一致
- 删除magisk模块
- 丰桥自助打印顺丰面单
- CAD VCL Multiplatform SDK 定制Crack
- layim之刷新群聊列表
- 教你游泳【附动画组图】
- 计算机如何新增硬盘,电脑新增加一块硬盘安装并使用的教程
- 去掉ubuntu下windows文件夹绿色背景
- java smtp pop3_POP3、SMTP和IMAP之间的区别和联系
- MySQL-基础-数据库和数据表
- 学计算机的女生的一生,人工智能专业适合女生学吗
- 河南地图网 vs Google maps —— 河南地图网横向评测