【MATLAB】for循环变量名变化的实现

news/2024/7/24 2:40:49 标签: matlab, 开发语言, 可变变量名

分享一系列matalb使用的程序小片段。

【MATLAB】MATLAB保存图片 视频的程序:MATLAB怎么保存图片 视频-CSDN博客


文章目录

前言

一、问题

二、代码

三、扩展学习

语法

说明

示例

输入参数

输出参数

局限性

提示

四、总结



前言

        程序设计、图像处理和科学计算是matlab的常用应用领域。

        笔者经常会用matlab协助分析大量连续图片,且处理后的图片还要输出保存,这时候如果输出保存的图片有着规律的变量名,会特别有助于后期的数据整理和记录,下面的小分享就来分享一段小程序解决这个问题。


一、问题

问题很简单,举个简单的例子:

我要实现操作如下

a_out_1=矩阵图1,

a_out_2=矩阵图2,

.

.

.

a_out_n=矩阵图n

n=150000

这肯定是用for循环操作简单,但是如何实现让变量 a_out_n 中的 n 在循环里变化呢?


二、代码

经过学习,掌握了eval函数,我才发现这是个好函数,下面是用eval解决的过程:

for i=1:150000
    s=['a_out_',num2str(i),'=a',num2str(i),';'];
    eval(s);
end

几句话就搞定了。

对于以上几行代码:

num2str:把数字转成字符串

[]:组合了字符串

eval:执行这串字符串

for:实现数字的递增


三、扩展学习

语法

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

说明

示例

[output1,...,outputN] = eval(expression) 在指定的变量中返回 expression 的输出。

示例

计算表达式

使用 eval 计算并绘制表达式 magic(5)

Z = eval('magic(5)');
mesh(Z)

Mesh plot of Z.

输入参数

expression — 要计算的表达式
字符向量 | 字符串标量

要计算的表达式,指定为字符向量或字符串标量。expression 必须为有效的 MATLAB 表达式,并且不能包含任何 MATLAB 关键字。要确定某词语是否为 MATLAB 关键字,请使用 iskeyword 函数。

示例: eval('magic(5)')

输出参数

output1,...,outputN — 计算的表达式的输出
任意 MATLAB 数据类型

计算的表达式的输出,以任何 MATLAB 数据类型形式返回。

局限性

  • 如果在匿名函数、嵌套函数或包含嵌套函数的函数中使用 eval,则计算的 expression 不会创建任何变量。

提示

  • 为了让 MATLAB 解析器对您的代码执行更严格的检查并避免未捕捉到的错误和其他意外行为,请不要在 eval 函数的输入中包含输出参数。例如,不推荐使用语句 eval(['output = ',expression])

    在这种情况下,请为 eval 函数指定输出参数,以存储计算的表达式的结果。例如:

      output = eval(expression)


四、总结

        这是本人matlab学习中的经验总结,如有不对的地方,欢迎大家指正,互相学习。

参考资料:计算 MATLAB 表达式 - MATLAB eval- MathWorks 中国


http://www.niftyadmin.cn/n/5246910.html

相关文章

Flask 的执行流程

Flask 的执行流程可以大致分为以下几个步骤: 初始化应用: 在 Flask 中,首先需要初始化一个 Flask 应用。这个应用包含了很多配置信息,例如模板文件夹的位置、静态文件夹的位置等。通常,应用的初始化是通过创建一个 Fla…

前端Flex布局的常用属性及其应用场景

目录 学习目标: 学习内容: 什么是flex布局? 如何使用flex布局? 容器属性 项目属性 flex布局有哪些主要的属性? flex布局的优缺点是什么? 学习时间: 最后总结: 学习目标&am…

【动手学深度学习】(七)丢弃法

文章目录 一、理论知识二、代码实现2.1从零开始实现Dropout2.2简洁实现 【相关总结】np.random.uniform(low,high,size)astypetorch.rand() 一、理论知识 1.动机 一个好的模型需要对输入数据的扰动鲁棒 使用有噪音的数据等价于Tikhonov正则丢弃法&…

MQTT发布、订阅和取消订阅

在本文中,我们将深入了解MQTT发布、订阅和取消订阅相关的内容。如果你刚接触发布/订阅模型,建议阅读本专栏之前的文章。 什么是MQTT发布消息 在MQTT中,一个客户端连接到代理(broker)之后可以立即发布消息。这些消息依…

神经网络常用归一化和正则化方法解析(二)

🎀个人主页: https://zhangxiaoshu.blog.csdn.net 📢欢迎大家:关注🔍点赞👍评论📝收藏⭐️,如有错误敬请指正! 💕未来很长,值得我们全力奔赴更美好的生活&…

SL1581降压恒压 耐压4V-30V降压5V 2A电流 外围简单,四个元器件

SL1581是一款专为降压恒压应用而设计的芯片,具有耐压4V-30V、降压5V、2A电流输出等特点,外围电路简单,仅需四个元器件。 一、芯片介绍 SL1581是一款专为降压恒压应用而设计的芯片,它采用先进的PWM控制技术,具有高效率、…

Vue学习笔记-缓存路由组件

作用 让不展示的路由组件保持挂载&#xff0c;不被销毁 具体编码 在需要缓存的路由组件上级组件中编写如下代码 <!--include属性中填写需要缓存的组件名--> <keep-alive include"name1,name2,..."><router-view></router-view> </kee…

『PyTorch学习笔记』如何快速下载huggingface模型/数据—全方法总结

如何快速下载huggingface模型/数据—全方法总结 文章目录 一. 如何快速下载huggingface大模型1.1. IDM(Windows)下载安装连接1.2. 推荐 huggingface 镜像站1.3. 管理huggingface_hub cache-system(缓存系统) 二. 参考文献 一. 如何快速下载huggingface大模型 推荐 huggingface…