MATLAB定义函数

文章目录

  • MATLAB定义函数
    • 1. 常见问题
    • 2. 如何定义
      • 2.1语法
      • 2.2举例
    • 3. 如何使用
      • 3.1 得到返回值
      • 3.2 将定义的函数作为参数传递给其他函数(函数指针)

1. 常见问题

与主流高级语言的区别

MATLAB没有函数指针这种玩意

所以MATLAB中定义函数必须在.m文件中定义, 不能跟主脚本定义在一起

比如下面这样是不允许的

% nonlcon函数定义
function [g, h] = nonlcon(x)g = [-x(1)^2 + x(2) - x(3)^2, x(1) + x(2)^2 + x(3)^2 - 20];h = [-x(1) - x(2)^2 + 2, x(2) + 2 * x(3)^2 - 3];
end% fun函数定义
function res = fun(x)res = sum(x.^2) + 8;
end[x, fval] = fmincon('fun', rand(3, 1), [], [], [], [], zeros(3, 1), [], 'nonlcon', [])

会报错 “Function might be unused”

解决办法

MATLAB只支持在.m文件中定义函数

创建.m文件, File->New->Function创建一个新的文件

在文件中定义函数

2. 如何定义

MATLAB只支持在.m文件中定义函数

首先创建.m文件, File->New->Function创建一个新的文件

2.1语法

function 返回值 = 函数名(参数)函数体
end

2.2举例

function [g, h] = nonlcon(x)g = [-x(1)^2 + x(2) - x(3)^2, x(1) + x(2)^2 + x(3)^2 - 20];h = [-x(1) - x(2)^2 + 2, x(2) + 2 * x(3)^2 - 3];
end
  • 返回值[g, h]
  • 函数名nonlcon
  • 参数可以多个, 这里参数是x

3. 如何使用

记得把定义的函数保存并且跟主脚本放在一个目录, 或者添加到路径

3.1 得到返回值

假设函数名为fun且已经定义

res = fun(x)

3.2 将定义的函数作为参数传递给其他函数(函数指针)

假设函数名为fun且已经定义

另一个函数func 需要将函数 fun作为参数传递进去

res = func('fun') % 用字符串的形式引用函数名作为参数

数学建模速成!两小时零基础入门MATLAB教程(六)—— 定义和调用函数相关推荐

  1. 数学建模速成! 两小时零基础入门 MATLAB 教程(一)—— Matlab常用操作和基本语法

    Matlab常用操作和基本语法 没有涉及到编程的内容, 就是介绍一些MATLAB软件的操作, 和简单的语法如注释输出之类的 目录 文章目录 Matlab常用操作和基本语法 1. help查看函数说明 ...

  2. 视频教程-5小时零基础入门小程序云开发-微信开发

    5小时零基础入门小程序云开发 码农一枚,非著名全栈开发人员.分享自己的一些经验,学习心得,希望后来人少走弯路,少填坑. 多年全栈开发经验,擅长小程序,java,安卓,web前端开发. 邱石 ¥29.0 ...

  3. 【157.1】golang+beego零基础入门实践教程it营大地

    go 在线工具 6.goLang语言基本数据类型 -整型详解 package main import "fmt" func main () {//1.定义int类型var num ...

  4. 输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出。要求定义和调用函数set_grade(stu, n),其功能是根据结构数组stu中存放的学生的百分制成绩score,将其

    输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出.要求定义和调用函数set_grade(stu, n),其功能是根据结构数组stu中存放的学生的百分制成绩score,将其 ...

  5. python做动画视频教程_Python零基础入门动画教程

    课程答疑: QQ群:913293727 适用人群 在校大学生/应届毕业生/业余编程爱好者/初.中开发学习者/大中专院校师生/数据分析人员/技术支持/测试人员 课程概述--课程大纲-- 1.Python ...

  6. 小甲鱼零基础入门python教程视频_绝对干货!小甲鱼零基础入门Python视频教程全套96集,值得学习...

    原标题:绝对干货!小甲鱼零基础入门Python视频教程全套96集,值得学习 简介: 今日分享资源为:小甲鱼零基础入门免费学习Python全套教学视频,共96套. 小甲鱼教学视频生动有趣幽默,强烈推荐给 ...

  7. Arduino UNO新手零基础入门学习教程博客汇总

    写在开头 最近在上Arduino的课,可以说Arduino对新手来说非常友好了,因为相比于51和32,Arduino的库函数下载就好,不需要自己去写,就很方便 我的硬件设备 这个是学校提供的硬件设备, ...

  8. HTML零基础入门详细教程

    欢迎来到HTML的零基础入门教程.HTML是构建网页的基础,是Web开发的必备技能之一.在本教程中,我们将介绍HTML的基础知识,包括HTML的基本结构.标签.属性等内容.让我们开始吧! 1. HTM ...

  9. 教你如何系统地学习3d建模!教你零基础入门,初学者看过来

    一.3D建模工作岗位 要是想从事3D建模,其中还有很工作岗位的.角色模型制作是较与场景模型制作,吃香很多,并且薪资更高. 3D建模是一个总称,在我们公司的项目上,3D建模分为:3D低模手绘(场景/角色 ...

最新文章

  1. TF-IDF算法原理介绍
  2. oracle 查看日志组切换状态_Oracle 11g ADG 快照备库切换步骤
  3. C# WinForm获取 当前执行程序路径的几种方法
  4. 【CyberSecurityLearning 63】CSRF攻击
  5. python类的应用_Python · 元类(Meta Class)及其应用
  6. 06-对图像进行腐蚀操作
  7. 【CodeForces - 266B 】Queue at the School (模拟)
  8. 浙江移动智能语音服务器,接口说明
  9. “ ModuleNotFoundError: No module named ‘tkinter‘ “的解决方法
  10. 学习了1!+...10!
  11. 如何使用Global Mapper分幅导出地图
  12. 砂岩浮雕让雕刻更加美观
  13. MySQL(5)条件查询 | 单行函数 | 事务详解
  14. 华为S5700_交换机_基础管理配置
  15. PBI Report Builder 报表设计与可视化
  16. 2019的百度网盘下载速度太慢老是限速怎么解决?
  17. html怎么打出一个圆点,如何打出两个字中间的圆点
  18. Activity毛玻璃背景效果
  19. 情景剧《重走长征路》上演
  20. 第三方支付接入之支付宝当面付

热门文章

  1. c语言中鱼贯指针的编程题,泡面吧 IT宅男如何打造编程教学网站
  2. python模块之HTMLParser简介
  3. 拨号宽带服务器无响应是什么意思,宽带拨号服务器无响应
  4. 高清壁纸软件 FreshBackMac for Mac 1.9.2免费版
  5. 航空发动机适航复习纲要
  6. WRF中使用ERA5再分析数据
  7. 在HTML中如何加入一个PDF文件,怎么给pdf文件插入页面?
  8. 运用计算机辅助设计的药物实例,计算机辅助设计在药物研发中的应用现状探究...
  9. 计算两张图像之间的PSNR和SSIM值
  10. GIS中的坐标系问题