本文备忘 Matlab 中批量定义变量的方法。

参考:

  [1] matlab中批量赋值与声明变量(eval函数)

  [2] MathWorks eval

缘起与说明


  当变量名称多到一定程度时,变量名的管理就很复杂:起什么名,怎么编号,怎么批量调用,怎么批量改代码。面向对象的编程方法诚然能够简化代码,但在一些要求代码效率的场景中,我们还是需要面向过程的。当要处理的变量名称有规律时,可以使用 for 循环与 eval 函数处理。

eval(expression)
[ouput1,...,outputN] = eval(expression)

  eval 函数的输入变量是一个字符串,该字符串遵从 Matlab 的语法,是一个可执行的 Matlab 命令语句。

例子


name = { 'lili', 'bob', 'susan' };
para = { 'age', 'Mat' };
% name = [ "lili", "bob", "susan" ];
% para = [ "age", "Mat" ];
for n = 1:3
for k = 1:100
eval([char(name(n)),'_',char(para(1)),'_',int2str(k),'=0;'])
eval([char(name(n)),'_',char(para(2)),'_',int2str(k),'=zeros(2,2);'])
% eval([name(n),'_', para(1),'_',int2str(k),'=0;'])
% eval([name(n),'_', para(2),'_',int2str(k),'=zeros(2,2);'])
end
end

  双引号只在 2017a 以后的版本中被支持,所以“字符串矩阵”的代码被注释掉了。


END

Matlab_ eval 批量定义变量的更多相关文章

  1. Python&R&Matlab:批量生成变量

    在编写程序时,有时我们需要命名相当多的变量,比如x0.x1.x2.....xn,用手一个个打出来是相当麻烦的.那么这时我们就需要批量生成变量了. 解决这个问题的关键在于,'xn'是自动构造出来的字符串 ...

  2. SQL*Plus中替换变量与定义变量

    替换变量 SQL*Plus中的替换变量又叫替代变量,它一般用来临时存储相关数据:在SQL语句之间传递值.一般使用&或&&前缀来指定替换变量. 关于使用替换变量,一般是利用其创建 ...

  3. 【Python基础学习二】定义变量、判断、循环、函数基本语法

    先来一个愉快的Hello World吧,就是这么简单,不需要写标点符号,但是需要严格按照缩进关系,Python变量的作用域是靠tab来控制的. print("Hello World" ...

  4. JavaScript基础——定义变量

    在JavaScript中使用变量来临时存储和访问来自JavaScript文件的数据.变量既可以指向简单的数据类型,如数字或者字符串:也可以指向更复杂的数据类型,比如对象. 在JavaScript中定义 ...

  5. js定义变量需赋予初始值

    这是console.log打印出来的日志,就是多了一个undefined 日志: hitTableObjectID:undefinedbfa4be7b-32fc-459a-9092-ecde316b3 ...

  6. JAVA变量的类型,定义变量

    JAVA中常用的数据类型 数据类型 数据类型解释 说明 char 字符型 用于存储单个字符,如:性别“男”.“女”,电灯“开”.“关” int 整形 用于存储整数,如一天的时间是24小时,一月份是31 ...

  7. [C/C++]在头文件中使用static定义变量意味着什么

    文章出处:http://www.cnblogs.com/zplutor/ 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const ...

  8. case中定义变量

    1.c语言switch/case中定义变量   case 0: int b = 0 ; printf("0");break; case 1: printf("1" ...

  9. 不使用var定义变量和使用var的区别

    最基本的var关键字是上下文的,而不采用var是全局的这就不讨论了 “不管是使用var关键字(在全局上下文)还是不使用var关键字(在任何地方),都可以声明一个变量”.这貌似一个错误的概念:任何时候, ...

随机推荐

  1. label 的for属性总结

    一.使用介绍 1. 定义:for属性规定label与哪个表单元素绑定. <label>是专门为<input>元素服务的,为其定义标记. label 和表单控件绑定方式有两种: ...

  2. php无限极分类的实现

    //指定根层级的树状图 function generateTree($list, $root = 0, $pk = 'id', $pid = 'pid', $child = '_child') { $ ...

  3. python学习之读写csv文件(使用pandas)

    简介 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序 ...

  4. python标准库总的random函数用法

    Python标准库中的random函数,可以生成随机浮点数.整数.字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等.random中的一些重要函数的用法:1 ).random() 返回0& ...

  5. linux环境下安装使用selenium Chrome

    安装驱动 http://chromedriver.storage.googleapis.com/index.html 下载对应chrome浏览器版本的驱动程序 chmod +x chromedrive ...

  6. PAT 1132 Cut Integer

    1132 Cut Integer (20 分)   Cutting an integer means to cut a K digits lone integer Z into two integer ...

  7. 简单的jQuery hide()方法演示

    <!DOCTYPE html><html><head><meta charset="utf-8"> <title>jQu ...

  8. angular ,require.js, angular-async-loader实现单页面路由,控制器js文件分离

    https://github.com/heboliufengjie/appRoute/tree/re re 分支,实现,路由配置,控制器js文件分离

  9. c语言五子棋

    #include <stdio.h>#include <stdlib.h>#include <windows.h>#include <conio.h> ...

  10. java根据#号截取字符串,使用Pattern的方法

    public class Regex1 { public static void main(String[] args) { String s = "神秘的海洋出现了一只#话题#海怪阿拉斯加 ...