0
我已经建立2 * 2大小的变量向量,我想一些值分配给他们,在我的计划进一步使用它们,但我不知道该怎么办呢如何为MATLAB中的变量赋值?
Rho= sym('Rh0',[2,2]);
abc= [1 2; 5 6];
我的期望在输出是
Rho1_1=1
Rho1_2=2
Rho2_1=5
Rho2_2=6
可以有人帮我解决这个问题吗?
我已经建立2 * 2大小的变量向量,我想一些值分配给他们,在我的计划进一步使用它们,但我不知道该怎么办呢如何为MATLAB中的变量赋值?
Rho= sym('Rh0',[2,2]);
abc= [1 2; 5 6];
我的期望在输出是
Rho1_1=1
Rho1_2=2
Rho2_1=5
Rho2_2=6
可以有人帮我解决这个问题吗?
以下工作;使用num2cell
到阵列单元阵列进行转换,然后使用多个索引,以“交易”与单元阵列内容的变量:
clear
clc
abc= [1 2; 5 6];
abcCell = num2cell(abc'); %// Note the transpose; needed to get correct order.
[Rho1_1, Rho1_2,Rho2_1,Rho2_2] = abcCell{:}
给予这样的:
Rho1_1 =
1
Rho1_2 =
2
Rho2_1 =
5
Rho2_2 =
6
rho = sym('r',[2,2]);
r1_1 = 1;
r1_2 = 2;
r2_1 = 5;
r2_2 = 6;
subs(rho)
吐出来
ans =
1 2
5 6
谢谢@Benoit。但如果我有类似625变量的东西,我必须从字面上输入它们来执行'deal'命令?即您的代码的第三行。我不能直接在左侧指定一个向量来为这个625个变量的向量赋值? – user3218696 2014-12-02 04:41:48
mhh那么它会更复杂一点。您可能需要查看使用结构的动态字段索引,或者定期循环可以完成这项工作。没有关于你的数据的更多信息,这有点难以分辨。 – 2014-12-02 13:51:32