全局变量和中间变量

函数文件中的变量都是局部的,即一个函数文件中定义的变量不能被另一个函数文件或其它 M 文件使用
当函数调用完毕后,该函数文件中定义的所有局部变量都将被释放,即全部被清除
函数通过输入和输出参数与其它 M 文件进行数据传递。
如果在若干个 M文件中,都把某个变量定义为全局变量,则这些函数将公共使用这一变量。所有函数都可以对它进行存取和修改操作。
全局变量的作用域是整个MATLAB工作空间,即全程有
效。定义全局变量是 M文件间传递信息的一种手段。

global 变量名列表

变量名列表中的各个变量用空格隔开,不能用逗号
在使用全局变量的所有M文件中,都要对其所使用的全局变量进行定义
全局变量给函数间的数据传递带来了方便,但却破坏了函数对变量的封装,降低了程序的可读性,因而在结构化程序设计中,全局变量是不受欢迎的。特别是当程序较大,子程序较多时,全局变量将个程序调试和维护带来不便,故不提倡使用全局变量。
例 全局变量应用示例
先建立函数文件wadd.m,该函数将输入的参数加权相加。

function f=wadd(x,y)
global ALPHA BETA
f=ALPHA*x+BETA*y;

在命令窗口中输入:

global ALPHA BETA
ALPHA=1;
BETA=2;
s=wadd(1,2)
% ex4global.m
clear;
global a b
a=1; b=3;
y=mysquaresum(a,b);
fprintf(' a=%g, b=%g \n',a,b);
z=myproduct(a,b);
fprintf(' a=%g, b=%g\n',a,b);
% mysquaresum.m
function square_sum=mysquaresum(x,y)
global a
square_sum=x^2 + y^2; a=x+y;
% myproduct.m
function product=myproduct(x,y)
global a
product=x*y; a=x+y;

子函数

函数文件中可以含有一个或多个子函数
子函数由 function 语句引导
主函数必须位于最前面,子函数出现的次序任意
子函数只能被主函数和位于同一个函数文件中的其它子函数调用
除了用 global 定义的全局变量外,子函数中的变量都是局部变量,子函数与主函数及其它子函数之间通过输入、输出参数进行数据传递
调用一个函数时,Matlab 会首先检查该函数是否为一个子函数。

例子

% ex4subfun.m
function [avg, med] = ex4subfun(x) % 主函数
n = length(x);
avg = mymean(x, n);
med = mymedian(x, n);function a = mymean(x, n) % 子函数,计算平均值
a = sum(x)/n;function m = mymedian(x, n)% 子函数,计算中值(中位数)
x = sort(x);
if rem(n, 2) == 1m = x((n+1)/2);
elsem = (x(n/2)+x(n/2+1))/2;
end

函数文件举例

function printyh(n)
% 打印杨辉三角形, 本函数没有输出参数
yh=1; disp(yh);
if n==1, return; end
yh=[1,1]; disp(yh);
if n==2, return; end
for k=3:nyh_old=yh;  k2=ceil(k/2);for l=2:k2yh(l)=yh_old(l-1)+yh_old(l);end % 只需计算前一半元素,后一半倒序赋值即可yh(k2+1:k)=yh(k-k2:-1:1); disp(yh);
end

matlab全局变量和局部变量和子函数相关推荐

  1. 函数的内部处理及全局变量和局部变量

    CSDN话题挑战赛第2期 参赛话题:学习笔记 目录 一.函数的内部处理 二.全局变量和局部变量 一.函数的内部处理 上一篇博客用汇编分析了 Sample4.c 整个代码过程,现在分析以下AddNum函 ...

  2. Python中都全局变量和局部变量

    定义 全局变量:函数体之外定义的变量 局部变量:函数体之内定义的变量 下述代码中,t是全局变量,m是局部变量 t = 1 def func(x):m = 2return x//m 规则 1. 局部变量 ...

  3. python中全局变量和局部变量关键字_Python中都全局变量和局部变量

    Python中都全局变量和局部变量 Python中都全局变量和局部变量 定义 全局变量:函数体之外定义的变量 局部变量:函数体之内定义的变量 下述代码中,t是全局变量,m是局部变量 t = 1 def ...

  4. C语言子函数返回二维数组讨论

    C语言中,在子函数中将一个二维数组返回 都知道,在子函数中,一定不能返回一个局部变量的指针,局部变量在子函数中进行创建,子函数调用结束后,该指针将被释放掉. 如果被指针所指向的该内存空间被别的程序占用 ...

  5. python中全局变量和局部变量的使用

    变量根据作用域不同可以分为全局变量和局部变量 1.函数内部的变量没有global声明时,就是一个局部变量,只能在函数内部被使用. 2.全局变量在函数外部声明,作用域为声明之后的代码,如果在声明前被调用 ...

  6. python 函数递归一次增加一次变量_python3--函数(函数,全局变量和局部变量,递归函数)...

    1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...

  7. python 函数递归一次增加一次变量_python3 --函数(函数,全局变量和局部变量,递归函数’)...

    1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合. 函数名:就相当于是程序代码集合的名称 参数:就是函数运算时需要参与运算的值被称作为参数 函数体:程序的某个 ...

  8. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

  9. 对C语言 static作用——修饰 变量(全局变量/局部变量)、函数

    *******************************概念******************************************** ********************** ...

  10. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

    文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...

最新文章

  1. 【☀️~爆肝万字总结递归~❤️玩转算法系列之我如何才能掌握递归解题的能力❤️~十大经典问题助你突破极限~建议收藏☀️】
  2. 数据库表的软硬关联_数据库容灾能力的探讨(一)
  3. HDU - 5452 Minimum Cut(LCA+树上差分)
  4. 产品文档体系结构的思考
  5. vue数组变化视图_vue数组操作不更新视图问题(示例代码)
  6. 记录最近的一些遇到的前端面试题
  7. 图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化
  8. java时间规划书_【计算机本科补全计划】Java学习笔记(九) Java日期时间
  9. 酷炫好看的横向滑动个人介绍简历模板
  10. 【转】vb 关于commondialog的多选
  11. 第六章 使用ADO.NET查询和操作数据
  12. linux常用命令之压缩打包
  13. SVN下载安装及入门使用教程,详细到不能再详细了
  14. R语言数据可视化案例(世界杯球员信息数据可视化)
  15. CNN编辑:扯淡的WSJ,你们专黑Groupon三十年!
  16. 分布式消息中间件 MetaQ 作者庄晓丹专访
  17. v-model的基本使用
  18. 分布式发号器——Vesta
  19. Vivado HLS 入门实验
  20. 【数学】幂运算与快速幂取余

热门文章

  1. Oracle优化新常态 前半生
  2. vive手柄按键开发说明
  3. Adobe完全卸载工具
  4. vue echarts 柱状图
  5. 苏州大学计算机考研 复试机试真题2013-2020真题及Python题解
  6. 软件生成问候图片_设计师注意啦!欧美风双色图片一键生成的软件来啦!
  7. 诱人的 TypeScript 视频教程(69 个视频)
  8. 麦本本笔记本怎么U盘重装Win10系统教学?
  9. 数学 三角函数 sin 正弦、cos 余弦、tan 正切、cot 余切、sec 正割、csc 余割 简介
  10. 函数对称性常见公式_函数对称性