原文地址:Matlab里evalin和assignin的用法作者:了凡春秋

assignin与evalin
    MATLAB通常的基本工作空间是'base'空间。MATLAB在程序运行过程中,将为每个函数分配它自己的函数工作空间(从基本空间中分割出的一块, 以函数名作为其工作空间名),各个工作空间之间的变量是不能够直接引用的,在函数退出之后,该函数空间也就立即被注销。因此,对于函数文件,运行结果除输出变量返回到基本工作空间或者其父工作空间(调用该函数的程序的工作空间)之外,其他中间变量不在基本工作空间或者其父工作空间保留。而对于脚本M文件,其工作空间与基本工作空间'base'是共享的,其运算过程中所用到的中间变量也将在基本工作空间'base'中保留。

assignin为工作空间的变量指派值,其语法为:
assignin(WS,'name',V) ,其中,WS为工作空间名称,'name'为变量名,V是为该变量指派的值。

evalin实现在工作空间中某个表达式字符串,并将结果返回,其语法为:
evalin(WS,'expression'),其中,WS为工作空间名称,'expression'为表达式符号串。

利用assignin与evalin指令,可以实现不同M文件主函数与子函数的工作空间变量的共享。

例:

function test
clear;     %清空当前工作空间
a=3;       % 在基本工作空间创建一个变量
assignin('base','a',5); % 为该变量指派新的值

b = evalin('base','3*a+2'); %在基本工作空间中计算式子3*a+2的值并将结果赋予b

end 
a      % 查看现在该变量的值    
a =
     5


b =
    17

http://hi.baidu.com/%CA%A9%D4%C6%CC%CE/blog/item/80519c2c74dd39eb8a1399e9.html

evalin功能很强大,可以运行不同工作区域里的Matlab任何命令:

evalin(ws, expression)

[a1, a2, a3, ...] = evalin(ws, expression)

ws:工作区域(default 是base)

expression: 合法的matlab命令

比如想在运行函数同时,运行工作区域里一个赋值命令:

evalin('base', 'a=1');

看一下,是不是你的workspace里面有了一个a的变量。

http://www.ilovematlab.cn/viewthread.php?tid=11196&highlight=evalin

Matlab里evalin和assignin的用法相关推荐

  1. matlab计算结果为inf,matlab里的mean为什么计算结果是inf

    matlab中的mean函数是什么意思啊,如何使用 在matlab中小编知道mean函数是分享均值的,可是mean(x,dim)中的dim是什么mean :平均值或数组的平均值 语法: M = mea ...

  2. 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码 年份 WTI(美元/桶) 2007-1 54.26 20 ...

  3. semilogx 多条曲线_怎么让两个指数在一个坐标,matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢...

    Q1:matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢 多个纵轴数组分别是y1,y2,y3,横轴数组为x 命令为: semilogx(x,y1,x,y2,x,y3) 完了 Q2: ...

  4. 用matlab跑神经网络模型,怎样在matlab里建立一个BP神经网络模型?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码 年份 WTI(美元/桶) 2007-1 54.26 20 ...

  5. 怎样用matlab模型建立,怎样在matlab里建立一个BP神经网络模型?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用以下的数据怎样在matlab里建立一个BP神经网络模型?求高手帮忙!!最好是有详细步骤以及代码 年份 WTI(美元/桶) 2007-1 54.26 20 ...

  6. Java里try catch的简单用法

    Java里try catch的简单用法: Java里try catch的简单用法: 1.try+catch 程序的流程是:运行到try块中,如果有异常抛出,则转到catch块去处理.然后执行catch ...

  7. matlab里插入行和列

    matlab里插入行和列 >> A=magic(4) A =     16     2     3    13      5    11    10     8      9     7 ...

  8. MATLAB里面的filter和filtfilt的C语言源代码

    MATLAB里面的filter和filtfilt的C语言源代码 嗯,算法非常简单,就是网上搜不到C代码实现.filter是个很万能的数字滤波器函数,只要有滤波器的差分方程系数,IIR呀FIR呀都能通过 ...

  9. matlab fopen函数的用法,matlab中关于fread函数的用法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中关于fread函数的用法 问题详情:用fread打开一个时,需要不需要把开放在某个特回答:必须在Matlab可以搜索的 ...

最新文章

  1. java double类型保留两位小数4种方法
  2. Linux命令——chmod
  3. LeetCode 1726. 同积元组(排列组合)
  4. JDBC连接sql server数据库
  5. autohotkey编写windows脚本实现test.lab试验数据快速导出
  6. php 删除字符串中链接_python面试——删除字符串中的“b”和“ac”,删除后无b和ac(CloudIn(云英)面经)...
  7. ZetCode Python 教程
  8. 【Elasticsearch】留意Elasticsearch 7.x 可能无法选主的问题
  9. layui 日期范围选择器_UI设计素材模板|完美日期选择器
  10. 数字信号处理技术(二)变分模态分解(VMD)-Python代码
  11. matlab模糊数学隶属问题,模糊数学模型matlab
  12. 时域采样与频域采样实验【matlab】
  13. 【关于c/c++中开平方函数sqrt()的用法】
  14. ansible之判断语句jinja2模板的使用 与roles角色的配置使用
  15. 一文讲解Typescript中工具类型
  16. KBU808-ASEMI适配大功率开关电源整流桥
  17. 快衰落、慢衰落,平坦衰落、频率选择性衰落
  18. 航模电机UVW波形测量
  19. 【java基础】猫和狗(多态版)
  20. DFA算法实现敏感词过滤

热门文章

  1. python处理csv文件列错位_CSV文件分割与列异常处理的python脚本
  2. 什么是485转光纤?485光纤转换器功能特点及技术参数详解
  3. POE供电交换机技术分析及工作过程详解
  4. 影响PoE交换机不稳定的因素
  5. 工业交换机品牌选择时注意的事项介绍
  6. [渝粤教育] 莆田学院 电机与拖动基础(一) 参考 资料
  7. 【渝粤教育】国家开放大学2018年春季 3780-22T燃气设备操作与维护 参考试题
  8. 【渝粤教育】电大中专电商运营实操 (19)作业 题库
  9. 【渝粤题库】国家开放大学2021春2247社会工作政策法规题目
  10. Zigbee 联盟更名为连接标准联盟