QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 740|回复: 0
打印 上一主题 下一主题

用全局内存分享数据

[复制链接]
字体大小: 正常 放大
回帖奖励 1 点体力 回复本帖可获得 1 点体力奖励! 每人限 1 次

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2015-9-17 22:45 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    用全局内存分享数据
    我们已经看到了,函数与程序之间交换数据是通过参数列表来完成的。当一个函数被调用时,每一个实参都会被复制,而这个中复制量将会在函数用到。
    对于参数列表还有一些补充,MATLAB函数与每一个参数或基本工作区通过全局内存交换数据。
    全局内存是指内存的一种特殊类型,它能够被所有的工作区访问。如果一个变量在函数中被声明全局变量,那么它将占用的是全局内存,而不是本地工作区。如果相同的变量在另一个函数中被声明为全局变量,那么这个变量所占有内存区域就是第一个函数中的相同变量。
    声明有全局变量的脚本文件或函数将有办法访问相同的值,所以全局变量为函数之间分享数据提供了一个方法。
    全局变量的声明要用到global主语句,基本形式如下

    global var1 var2 var3 ...


    其中v等ar1,var2,var3等是用全局内存的变量。为了方便,全局变量将在函数开头被声明,但是实际上没有这个必要。
    好的编程习惯
    最是把全局变量声明在函数的开头,这样可以区别于本地变量。
    每一个全局变量在函数第一次使用之前必须声明如果在本地工作区中已经被创建,那么声明为再次声明全局变量将会产生错误。为了避免这种错误,在函数中的初始注释行之后和第一个可执行性语句之前声明全局变量。
    好的编程习惯
    在函数中的初始注释行之后和第一个可执行性语句之前声明全局变量
    全局变量尤其适用于在许多函数分享大容量数据,这样全部的数据在每一次被函数调用时就不必再复制了,用全局变量在函数之间交换数据的不利一面为:函数只能为特定的数据工作。通过函输入数据参数交换数据的数能用不同的参数调用它,而用全局变量进行数据交换的函数必须进行修改,以许它和不同的数据进行工作。

    好的编程习惯
    在一个程序,你能利用全局内存,在函数之间对大规模数据进行交换。




    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-22 04:12 , Processed in 0.412818 second(s), 51 queries .

    回顶部