本文备忘 Matlab 中批量定义变量的方法。
参考:
[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 批量定义变量的更多相关文章
-
Python&;R&;Matlab:批量生成变量
在编写程序时,有时我们需要命名相当多的变量,比如x0.x1.x2.....xn,用手一个个打出来是相当麻烦的.那么这时我们就需要批量生成变量了. 解决这个问题的关键在于,'xn'是自动构造出来的字符串 ...
-
SQL*Plus中替换变量与定义变量
替换变量 SQL*Plus中的替换变量又叫替代变量,它一般用来临时存储相关数据:在SQL语句之间传递值.一般使用&或&&前缀来指定替换变量. 关于使用替换变量,一般是利用其创建 ...
-
【Python基础学习二】定义变量、判断、循环、函数基本语法
先来一个愉快的Hello World吧,就是这么简单,不需要写标点符号,但是需要严格按照缩进关系,Python变量的作用域是靠tab来控制的. print("Hello World" ...
-
JavaScript基础——定义变量
在JavaScript中使用变量来临时存储和访问来自JavaScript文件的数据.变量既可以指向简单的数据类型,如数字或者字符串:也可以指向更复杂的数据类型,比如对象. 在JavaScript中定义 ...
-
js定义变量需赋予初始值
这是console.log打印出来的日志,就是多了一个undefined 日志: hitTableObjectID:undefinedbfa4be7b-32fc-459a-9092-ecde316b3 ...
-
JAVA变量的类型,定义变量
JAVA中常用的数据类型 数据类型 数据类型解释 说明 char 字符型 用于存储单个字符,如:性别“男”.“女”,电灯“开”.“关” int 整形 用于存储整数,如一天的时间是24小时,一月份是31 ...
-
[C/C++]在头文件中使用static定义变量意味着什么
文章出处:http://www.cnblogs.com/zplutor/ 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const ...
-
case中定义变量
1.c语言switch/case中定义变量 case 0: int b = 0 ; printf("0");break; case 1: printf("1" ...
-
不使用var定义变量和使用var的区别
最基本的var关键字是上下文的,而不采用var是全局的这就不讨论了 “不管是使用var关键字(在全局上下文)还是不使用var关键字(在任何地方),都可以声明一个变量”.这貌似一个错误的概念:任何时候, ...
随机推荐
-
Struts2 的验证
概述 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 –基于 XWork Validation Framework 的声明式验证:Struts2 提供了一些基 ...
-
第十三篇、jQuery Mobile
API-->搜索data 0.page data-transition="slide" // 页面切换效果 data-position="fixed" / ...
-
PHPCMSV9 采集网址后,再采集内容,报错:“采集采集内容 没有找到网址列表,请先进行网址采集”
解决方法:直接清除v9_collection_history 表里的内容.
-
【原创】纯OO:从设计到编码写一个FlappyBird (三)
第二部分请点这里 下面首先来实现Bing接口! 实现Bing接口的类取名SimpleBing. 容易发现,SimpleBing类总的来说要向下,但点击一下又得向上,向上到了一定界限又得向下,但我们又只 ...
-
python web开发基本概念
参考了廖雪峰的Python博客. web请求顺序: 浏览器发送一个http请求 服务器收到请求后,生成一个html文档. 服务器将html文档作为http相应的body发送给浏览器 浏览器收到http ...
-
Oracle 查询结果集行数分析
本人曾去某金融软件公司面试,交流中面试官问的一个问题是:"如果有 A.B 两张表,A 表中有 2 条数据,B 表中有 200 条数据,请问 SELECT * FROM A,B 能查出多少条数 ...
-
Python学习笔记–Chapter 2
1.字符串中添加制表符,可使用字符组合\t 2.字符串中添加换行符,可使用字符组合\n 3.字符串\n\t可以换到下一行,并且在开头添加一个制表符. 4.删除末尾空白,使用方法rstrip() 5.删 ...
-
Hive学习之路 (一)Hive初识
Hive 简介 什么是Hive 1.Hive 由 Facebook 实现并开源 2.是基于 Hadoop 的一个数据仓库工具 3.可以将结构化的数据映射为一张数据库表 4.并提供 HQL(Hive S ...
-
Python requests如何将第一个请求得到的 cookie 通过 POST 提交给第二个请求
#coding=utf-8 import requests import json url_login, url_test = "http://192.168.0.162/login&quo ...
-
linux启动程序和关闭程序脚本
关闭脚本: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...