对于 'embedded.fi' 类型的输入参数,MATLAB.Undefined 函数 'det' 出错
Error in MATLAB.Undefined function 'det' for input arguments of type 'embedded.fi'
我已经看过了 link Error using fzero in Matlab: Undefined function or method 'det' for input arguments of type 'function_handle'
但是我无法解决这个问题 link.I 我在 MATLAB 中使用 fi 对象。我有一个矩阵 T_1 (2 cross 2) 被转换成 fi(T_1,1,32,26,fimath),即 32 有符号二进制数,26 是二进制小数点的位置。现在当我尝试执行以下代码时
T = mat_G/(mat_sqrt_D)
T_1=fi(T./mat_E,1,32,26,fimath);
multiplier=1/(2*sqrt(det(var_oldS))*abs(det(T_1)));
出现以下错误
Undefined function 'det' for input arguments of type 'embedded.fi'.
谁能告诉我如何解决它。
P.S 变量 var_oldS、mat_G、mat_E、mat_qrt_D 具有相同的 fi 对象属性,即 fi(variable_name,1 ,32,26,fimath)
如果您查看 det
的文档,它说输入必须是单数或双数。可能不支持定点。由于您的矩阵大小固定为 4,因此替换函数很简单:
det2=@(M)M(1)*M(4)-M(2)*M(3)
然后用det2代替det。
我已经看过了 link Error using fzero in Matlab: Undefined function or method 'det' for input arguments of type 'function_handle' 但是我无法解决这个问题 link.I 我在 MATLAB 中使用 fi 对象。我有一个矩阵 T_1 (2 cross 2) 被转换成 fi(T_1,1,32,26,fimath),即 32 有符号二进制数,26 是二进制小数点的位置。现在当我尝试执行以下代码时
T = mat_G/(mat_sqrt_D)
T_1=fi(T./mat_E,1,32,26,fimath);
multiplier=1/(2*sqrt(det(var_oldS))*abs(det(T_1)));
出现以下错误
Undefined function 'det' for input arguments of type 'embedded.fi'.
谁能告诉我如何解决它。
P.S 变量 var_oldS、mat_G、mat_E、mat_qrt_D 具有相同的 fi 对象属性,即 fi(variable_name,1 ,32,26,fimath)
如果您查看 det
的文档,它说输入必须是单数或双数。可能不支持定点。由于您的矩阵大小固定为 4,因此替换函数很简单:
det2=@(M)M(1)*M(4)-M(2)*M(3)
然后用det2代替det。