声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2433|回复: 2

[编程技巧] matlab中定义的变量占用内存吗?是不是代码越多,占用的越大

[复制链接]
发表于 2011-4-27 21:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
例如:
a=5;b=10;c=100;..........如果有成千上百个这样的定义变量,会影响运算速度吗?
回复
分享到:

使用道具 举报

发表于 2011-4-28 00:10 | 显示全部楼层
直觉会有影响! 同待高手
发表于 2011-4-28 08:29 | 显示全部楼层
个人感觉是不是要区分变量的类型呢,matlab有以下的三种变量类型,不同的类型的生存周期也是不一样的!
1.局部变量
每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。
2.全局变量
在函数或基本工作空间内,用global声明的变量为全局变量。例如声明a为全局变量:声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值。
3.永久变量
永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 01:22 , Processed in 0.062086 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表