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