1. 用global定义全局变量,在子函数中也用global申明一下; 不推荐

2. 用evalin与assignin进行变量空间之间数据通讯,具体的help 之

3. 用 save load通过文件传递。 一般不采用,但是对于大量数据传递而不用参数的时候还是挺方便

4. 如果是gui,通过appdata,userdata ,guidata都可以

5. assignin与evalin

MATLAB通常的基本工作空间是'base'空间。MATLAB在程序运行过程中,将为每个函数分配它自己的函数工作空间(从基本空间中分割出的一块,以函数名作为其工作空间名),各个工作空间之间的变量是不能够直接引用的,在函数退出之后,该函数空间也就立即被注销。而对于脚本M文件,其工作空间与基本工作空间'base'是共享的。因此,对于函数文件,运行结果除输出变量返回到基本工作空间或者其父工作空间(调用该函数的程序的工作空间)之外,其中间变量不在基本工作空间或者其父工作空间保留。而脚本M文件运行结果,其运算过程中所用到的中间变量也将在基本工作空间'base'中保留。

assignin为工作空间的变量指派值,其语法为:

assignin(WS,'name',V) ,其中,WS为工作空间名称,'name'为变量名,V是为该变量指派的值。

evalin实现在工作空间中某个表达式字符串,并将结果返回,其语法为:

evalin(WS,'expression'),其中,WS为工作空间名称,'expression'为表达式符号串。

利用assignin与evalin指令,可以实现不同M文件主函数与子函数的工作空间变量的共享,这将在以后的M函数编写中详细讲到。在这里仅仅对基本工作内部的操作做一个简单示例。

例:

clear; %清空当前工作空间

a=3; % 在基本工作空间创建一个变量

assignin('base','a',5); % 为该变量指派新的值

a % 查看现在该变量的值

a =

5

b = evalin('base','3*a+2') %在基本工作空间中计算式子3*a+2的值并将结果赋予b

b =

17

matlab怎样定义全局变量,Matlab如何定义公共变量相关推荐

  1. matlab 定义局部变量,simulink定义全局变量

    二.设置信号存储缓冲区与全局变量 默认情况下,Simulink 的信号都是局部变量,Simulink 重复使用存储信号的 缓冲区.使用悬浮 Scope 模块时,由于信号和模块之间没有...... 函数 ...

  2. matlab 脚本是什么意思,MATLAB提示不能在脚本中定义函数,是什么意思?

    点击查看MATLAB提示不能在脚本中定义函数,是什么意思?具体信息 答:你试图在命令窗口定义函数,这种做法是错误的. 你需要建立一个.m文件,文件名是Chebyshev.m,然后在里面输入源程序. 答 ...

  3. Simulink中的某一个模块用了我自己定义的MATLAB function模块,但是出现的结果是:The block ‘**/matlab function/sfunction‘ is in an

    Simulink中的某一个模块用了我自己定义的MATLAB function模块,但是出现的结果是:The block '/matlab function/sfunction' is in an in ...

  4. matlab创建数组对象,MATLAB一维数组(向量)的定义

    在 MATLAB 中,向量和矩阵主要是由数组表示的. 数组运算始终是 MATLAB 的核心内容,并且 MATLAB 区别于其他编程语言最大的优势就是数组计算.这种编程的优势使得计算程序简单.易读,程序 ...

  5. matlab调用sh函数,Shell 函数定义与调用

    linux shell 可以用户定义函数,然后在 shell 脚本中可以随便调用. 以一个计算两数之和的函数为例: #! /bin/bash # 函数定义 sum(){ return $(($1+$2 ...

  6. Matlab函数、子函数的定义方法

    除了最常使用的m文件函数,matlab还可以通过内联函数和匿名函数自定义函数. 1. m文件函数 以function关键字开头的m文件,并且通常函数名要与文件名相同.例如下面的内容保存为myfun2. ...

  7. matlab 定义函数 调用,matlab 定义函数,matlab定义函数并调用

    matlab 定义函数,matlab定义函数并调用,Matlab自定义函数详解 很久以前写的一篇Matlab自定义函数访问量很大,可惜没有点赞的,我感觉是我没讲清楚,这里又写了一篇笔记 Matlab函 ...

  8. matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?

    你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...

  9. 用matlab定义位移函数,matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)...

    matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法),哪吒游戏网给大家带来详细的matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)介绍,大家可以阅读一下,希望这篇 ...

  10. matlab 函数 子函数,Matlab函数、子函数的定义方法

    Matlab函数.子函数的定义方法 除了最常使用的m文件函数,matlab还可以通过内联函数和匿名函数自定义函数. 1. m文件函数 以function关键字开头的m文件,并且通常函数名要与文件名相同 ...

最新文章

  1. oracle 等频直方图,等频直方图预估结果集行计算公式
  2. python对浏览器的常用操作_selenium+python基本操作(02)
  3. mysql双机热备实现
  4. (二)linux内核镜像制作
  5. 计算机黑屏策略,小黑w7系统诊断策略服务已被禁用的还原教程
  6. 动态数组ArrayList c# 1613536290
  7. Git命令行介绍和使用说明(持续更新)
  8. 安徽 计算机能力提升,休宁教师“充电”提升信息技术应用能力
  9. win10配置Android SDK环境变量
  10. 开源Java CMS建站程序推荐
  11. oracle 加权久期,债券 加权久期 怎么计算
  12. C++ 编写求和函数
  13. mapper找不到报错:Field xxxMapper in xxx required a bean of type 'xxxMapper' that could not be found
  14. OpenGauss/MogDB调用C FUNCTION 范例
  15. C++:日志库log4cplus 2.0的使用说明
  16. 三角法激光雷达测距原理
  17. 剑灵系统推荐加点_新版剑灵怎么加点(2019剑灵技能加点在哪里)
  18. 李一男离开华为时给属下的忠告
  19. 使用Python编写爬虫程序(代码详细注释),获取彼岸图网的图片
  20. 教你如何组建家庭卡拉OK系统

热门文章

  1. RabbitVCS安装
  2. AdGuard Home 使用设置以及DNS测速软件
  3. xml文件怎么转换成wps_Office 12使用XML格式存储文件 正式回击WPS
  4. 世嘉MD游戏开发【二】:Hello World
  5. C语言初阶——手把手教零基础/新手入门(万字心得笔记)
  6. python写入文件报错解决方法
  7. Echarts 柱状图设置颜色
  8. CodeMeter:软件加密的“木桶定律”
  9. [产品经理]产品管理的工作流程
  10. postman安装与使用