You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中如何获取存储在变量中的变量的对应值?

用eval解决变量值调用问题

你的代码中,t存储的是变量名的字符串,直接执行print(t(1,:))只会输出字符串A1,而非对应的变量值。要通过eval实现预期效果,需要在调用变量时用eval解析字符串形式的变量名,具体操作如下:

修正后的代码示例

t = ['A1';'A2';'A3';'A4';'A5'];
for j = 1:length(t)
    eval([t(j,:), '= 2*j']);
end

% 获取并打印A1的值(输出2)
disp(eval(t(1,:)))

% 若需使用print函数(注意:MATLAB中print主要用于将图形输出到文件,命令行显示建议用disp)
eval(['disp(', t(1,:), ')'])

原理说明

  • t中存储的是变量名的字符串,而非变量本身,直接访问t(1,:)只会返回字符串A1。
  • eval(t(1,:))会将字符串A1解析为对应的变量,从而获取其赋值的数值2。

内容的提问来源于stack exchange,提问作者傅能杰

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:18:32