我想做这样的事情:
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参数尺寸 不一致。
sym / cat中的错误> catMany(第38行)[resz,ranges] = checkDimensions(SZ,暗淡);
sym / cat出错(第27行) ySym = catMany(dim,strs);
sym / horzcat出错(第19行) ySym = cat(2,args {:});
sym / subsasgn中的错误(第1639行) C = symfun(B,[inds {:}]);
答案 0 :(得分: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);