实现基本工作空间和函数之间数据的相互调用

上传人:豆浆 文档编号:2793942 上传时间:2017-07-27 格式:DOCX 页数:3 大小:16.58KB
返回 下载 相关 举报
实现基本工作空间和函数之间数据的相互调用_第1页
第1页 / 共3页
实现基本工作空间和函数之间数据的相互调用_第2页
第2页 / 共3页
实现基本工作空间和函数之间数据的相互调用_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《实现基本工作空间和函数之间数据的相互调用》由会员分享,可在线阅读,更多相关《实现基本工作空间和函数之间数据的相互调用(3页珍藏版)》请在金锄头文库上搜索。

1、实现基本工作空间和函数之间数据的相互调用在使用 MATLAB 时,有时需要在函数 M 文件中访问基本工作空间中的变量,或者把函数M 文件中的数据保存到基本工作空间中。利用 MATLAB 提供的两个函数: evalin 和 assignin就可以实现。evalin:在函数 M 文件中访问工作空间中的变量a1, a2, . = evalin(ws, expression);在工作空间 ws 中执行 expression 命令或表达式,并将执行的结果保存到变量 a1、a2、.中。函数的调用方法如下所示:v = evalin(base, var); %把基本工作空间中的变量 var 的值赋给局部变量

2、v。v = evalin(base, who); %查询基本工作空间中的变量名称,并把变量名称保存到 v 数组中举例:调用基本工作空间中的变量来在界面上绘制图形。复制内容到剪贴板代码:首先在基本工作空间中产生 x 和 y 变量: x=0:pi/50:2*pi;y=sin(x);然后在函数 M 文件中调用这些数据来在界面上绘制曲线:function myfunchf=figure(units,normalized,name,evalin example,position,0.4 0.3 0.4 0.3);haxes=axes(parent,hf,units,normalized,position

3、,0.1 0.1 0.8 0.8);%取得基本工作空间中的变量的值,保存到 xdata 和 ydata 中xdata=evalin(base,x);ydata=evalin(base,y);% 在指定的坐标轴中绘图axes(haxes);plot(xdata,ydata);assignin:将函数 M 文件中的变量的值传给指定的工作空间中的变量assignin(ws, var, val);将变量 val 的值赋给工作空间 ws 中的变量 var,如果变量 var 在工作空间中不存在,则创建该变量。例如:在上述 myfunc 函数的末尾添加如下语句,即可以在基本工作空间中产生新的变量 value

4、X和 valueY,并把函数中的 xdata 和 ydata 变量的值赋给 valueX 和 valueY:复制内容到剪贴板代码:assignin(base,valueX,xdata);assignin(base,valueY,ydata);变量相关的MATLAB 存储变量在一块内存区域中,该区域称为基本工作空间。脚本文件或命令行创建的变量都存在基本工作空间中。函数不使用基本工作空间,第个函数都有自己的函数空间。变量有三种基本类型:1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。脚本

5、(没有输入输出参数,由一系列 MATLAB 命令组成的 M 文件)没有单独的工作空间,只能共享调用者的工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。2.全局变量在函数或基本工作空间内,用 global 声明的变量为全局变量。例如声明 a 为全局变量:global a声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值。如果函数的子函数也要使用全局变量,也必须用 global 声明。3.永久变量永久变量用 persistent 声明,只能在 M 文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB 不会从内存中清除它,例如声明 a 为永久变量:persistent a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号