matlab的存储分为:(1)变量存储(2)函数存储
(1)基本工作空间,(base)脚本文件(没有输入输出参数、不带function关键字、有一系列命令语句组成的M文件)或命令行创建的变量都存储在基本工作空间。
(2)函数空间,函数不使用基本工作空间,每个函数都有自己的函数空间,在函数空间生成的变量,只有在函数空间有效。
*函数空间到基本工作空间之间的变量交换用assignin函数
assignin(workspace,'varname',varvalue);
workspace的取值有(base——基本工作空间;caller——当前回调函数空间)
*不能将局部变量空间中的函数指派到函数空间。
局部变量:只能在定义他的函数内部使用,当函数运行时,它的变量保存在自己的工作空间中,一旦函数退出,这些局部变量将不复存在。
要获取局部变量,可以在内部设置断点。
全局变量:在函数或者基本工作空间中,用global声明的变量全局变量,可以赋初值,全局变量要放在函数初始处声明。
下为声明全局变量a
global a
永久变量:用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除他,