码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [MATLAB]结构化程式与自定义函数


    结构化程式与自定义函数

    • 一、脚本文件和函数文件
      • 1.1 M脚本文件
        • 1.1.1 M文件分类
        • 1.1.2 文本文件
        • 1.1.3 编辑
        • 1.1.4 M文件建立
        • 1.1.5 M脚本文件
        • 1.1.6 数据输入
        • 1.1.7 输出
      • 1.2 函数文件
        • 1.2.1 M函数文件
        • 1.2.2 脚本文件与函数文件的区别
      • 1.3 局部变量和全局变量
        • 1.3.1 局部变量和全局变量概述
        • 1.3.1 函数中修改全局变量
    • 二、函数类别
      • 2.1 主函数与子函数
      • 2.2 匿名函数
    • 三、函数句柄
      • 3.1创建函数句柄的两种方式
    • 四、MATLAB程序控制流
      • 4.1 if-else-end分支结构
      • 4.2 多分支结构
      • 4.3 switch开关语句
      • 4.4 for循环


    一、脚本文件和函数文件

    1.1 M脚本文件

    1. M文件是由若干条MATLAB命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法
    2. 运行M文件的时候,MATLAB会自动依次执行文件中的命令,直到所有命令全部执行完毕
    3. M文件运行后,所产生的变量全部都驻留在MATLAB的基本工作空间中
    4. MATLAB提供的内部函数以及各种工具箱,都是利用MATLAB语言开发的M文件

    1.1.1 M文件分类

    1. script脚本文件(命令文件)
    2. function函数文件

    1.1.2 文本文件

    拓展名为.m

    1.1.3 编辑

    M文件编辑器
    Windows的记事本
    word文件

    1.1.4 M文件建立

    1.新建M文件:快捷键/右键菜单
    2.新建M文件:word/记事本

    1.1.5 M脚本文件

    1. 一串命令简单叠加的集合
    2. 自动按顺序执行文件的命令
    3. 无输入和输出量
    4. 所有变量都驻留在基本工作空间中
    5. 所有变量均为全局变量

    1.1.6 数据输入

    从键盘输入数据给变量A

    A = input('提示信息') % 输入数值变量
    A = input('提示信息', 's') % 输入字符串变量
    
    • 1
    • 2

    1.1.7 输出

    数据输出

    disp(x) % display数值变量
    disp('字符串')
    
    • 1
    • 2

    格式化输出
    指定格式将变量的值输出到屏幕或指定文件

    fprintf(format, A, ...)
    
    • 1

    format格式:
    %d整数,%e实数,%f实数(小数形式),%s字符串

    1.2 函数文件

    1.2.1 M函数文件

    1. 与脚本文件不同函数文件从外界只能看到传给他的输入量和送过来的计算结果,而内部运作是透明的
    2. 创建函数文件时,函数名称必须与函数文件名称一致

    1.2.2 脚本文件与函数文件的区别

    在这里插入图片描述

    1.3 局部变量和全局变量

    1.3.1 局部变量和全局变量概述

    局部变量

    1. 仅存在于函数空间内部的中间变量,产生与该函数的运行过程中,其影响范围也仅限于该函数本身
    2. 函数文件变量不能直接访问变量空间中的全局变量,它通过函数参数传入全局变量
      全局变量
    3. 全局变量驻留在变量空间中,全程有效;脚本文件中,随时可以修改全局变量
    4. 函数都可以通过传参的方式,访问全局变量(值传递)

    1.3.1 函数中修改全局变量

    函数中通过定义来访问或者修改全局变量

    1. 在函数中使用和修改全局变量值,需要现在脚本文件中定义该变量
    2. 然后在函数文件中定义全局变量
    global S % 定义全局变量S
    
    • 1

    二、函数类别

    2.1 主函数与子函数

    1. 一个函数文件可包含多个函数,第一个主函数,其他子函数
    2. 主函数必须在最前面,子函数仅被主函数或同一文件其他子函数所调用
    3. 同一文件的主函数、子函数之间的信息通过输入输出变量传递或通过全局变量传递

    2.2 匿名函数

    函数很简单的时候不需要创建M文件

    FH = @(xlist)expressi
    
    • 1
    1. 以@开头
    2. FH是匿名函数的句柄
    3. xlist为输入参数列表
    4. expression为函数体

    匿名函数的调用方法

    1. 直接调用:FH(xlist)
    2. 间接调用:feval(FH,xlist)

    在这里插入图片描述

    >> fun = @(x)exp(-x.*x);
    >> Isim = integral(fun, 0, 1)
    
    Isim =
    
        0.7468
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三、函数句柄

    3.1创建函数句柄的两种方式

    hfun = @+函数名
    hfun = str2func('fun')
    
    • 1
    • 2

    四、MATLAB程序控制流

    4.1 if-else-end分支结构

    在这里插入图片描述
    在这里插入图片描述

    4.2 多分支结构

    在这里插入图片描述

    4.3 switch开关语句

    4.4 for循环

    在这里插入图片描述

    y = 0;
    n = 100;
    for k = 1 : n
        y = y + 1 / (2*k-1);
    end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    for m=100:999
    m1=fix(m/100);           %求m的百位数字
    m2=rem(fix(m/10),10);   %求m的十位数字
    m3=rem(m,10);             %求m的个位数字
    if m==m1*m1*m1+m2*m2*m2+m3*m3*m3
    disp(m)
    end
    end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    文本生成中的采样策略
    Java实现本地缓存、分布式缓存及多级缓存
    python的PIL库
    EdgeX Foundry MQTT设备服务
    浅谈线程池的拓容、判断、限速技巧
    maven配置jib-maven-plugin插件构建java应用docker镜像
    第二十三节——路由懒加载+动态路由
    高等数值计算方法学习笔记第7章【非线性方程组求根】
    boss:整个卡尔曼滤波器的简单案例——估计机器人位置
    基于 51 单片机室内灯光控制系统
  • 原文地址:https://blog.csdn.net/weixin_51304981/article/details/125491698
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号