2012-04-24 129 views
1

如何在MATLAB R2009b中創建由符號元素組成的矩陣?在MATLAB中創建符號矩陣R2009b

這樣做,這將是繁瑣的方式:

syms a11 a12 a21 a22 
A = [a11 a12; a21 a22] 

但是,如果我想有一個10×10矩陣,我需要更好的東西。

Here我發現下面的命令:

A = sym('A%d', [2 2]); 

但似乎,而我使用R2009b中的較新版本的MATLAB的只有工作。

回答

2

做一個不太高效的方法是編寫一個腳本來創建一個字符串並用eval執行它。

cmd_var = 'syms'; 
cmd_mat = 'A=['; 
for i = 1:3 
    for j = 1:3 
     var = sprintf(' a_%d_%d ',i,j); 
     cmd_var = [cmd_var var]; 
     cmd_mat = [cmd_mat var]; 
    end 
    cmd_mat = [cmd_mat ';']; 
end 
cmd_var = [cmd_var ';']; 
cmd_mat = [cmd_mat '];']; 

因此,這個命令字符串是這樣的:

cmd_var = 
syms a_1_1 a_1_2 a_1_3 a_2_1 a_2_2 a_2_3 a_3_1 a_3_2 a_3_3 ; 

cmd_mat = 
A=[ a_1_1 a_1_2 a_1_3 ; a_2_1 a_2_2 a_2_3 ; a_3_1 a_3_2 a_3_3 ;]; 

現在執行的命令字符串:

eval(cmd_var) 
eval(cmd_mat) 
+0

這會工作,謝謝! – user16951 2012-04-24 13:57:19