weideyong8 发表于 2011-4-27 21:40

matlab中定义的变量占用内存吗?是不是代码越多,占用的越大

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

ChaChing 发表于 2011-4-28 00:10

直觉会有影响! 同待高手

meiyongyuandeze 发表于 2011-4-28 08:29

个人感觉是不是要区分变量的类型呢,matlab有以下的三种变量类型,不同的类型的生存周期也是不一样的!
1.局部变量
每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。
2.全局变量
在函数或基本工作空间内,用global声明的变量为全局变量。例如声明a为全局变量:声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值。
3.永久变量
永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:
页: [1]
查看完整版本: matlab中定义的变量占用内存吗?是不是代码越多,占用的越大