2016-04-27 25 views
0

我想要做這樣的事情:Matlab的:評估與向量和矩陣參數的象徵功能

syms x1 x2 h11 h12 h21 h22 
x = [x1 x2] 
matrix = [h11 h12; h21 h22] 

然後創建我的功能:

f(x, matrix) = ((2*matrix)^(-1/2))*(x'); 

但我必須做一些錯誤因爲我得到:

錯誤使用sym/cat> checkDimensions(第75行)CAT參數尺寸 是否t一致。 (sz,dim);(如果有的話)。

sym/cat(line 27)中的錯誤 ySym = catMany(dim,strs);

sym/horzcat錯誤(第19行) ySym = cat(2,args {:});

sym/subsasgn中的錯誤(行1639) C = symfun(B,[inds {:}]);

回答

0

錯誤出現在您的函數定義中。有關如何在MATLAB中正確聲明函數,請參見link

名爲 「your_function_name.m」

function result = your_function_name(x, matrix) 
result = ((2*matrix)^(-1/2))*(x'); 

然後,你可以調用你的函數這樣一個單獨的文件將這個:

x = [x1 x2]; 
matrix = [h11 h12; h21 h22]; 
your_function_name(x, matrix); 

或者你可以使用一個anonymous功能。

x = [x1 x2]; 
matrix = [h11 h12; h21 h22]; 
f = @(x, m) ((2*m)^(-1/2))*(x'); 
f(x, matrix);