[求助]matlab inline函数的一点疑问
我的原始代码如下:
a=[0 ;0 ;-0.005];
a_dach=[1.1165*10^-7 ;4.8413*10^-5; 8.6100*10^-3];
u0=2.5*10^-5;
D_1=[1 0 0;0 1 0;0 0 1];
syms X1 X2 X3 X4 X5 X6;
T=[X1 X2 X3;0 X4 X5;0 0 X6];
R1=transpose(T)*T;
e_1=(a'*D_1*inv(R1)*D_1*a-2*a_dach'*inv(R1)*D_1*a+a_dach'*inv(R1)*a_dach)/(u0^2);
testFct6 = inline(' -1/sqrt((e_1)^3*det(R1)) ', 'X');
这样调试函数的时候会提示
??? Error using ==> inlineeval
Error in inline expression ==> -1/sqrt((e_1)^3*det(R1))
??? Error using ==> eval
Undefined function or variable 'e_1'.
事实上inline函数必须具备以下的格式,
testFct1 = inline('(X(1)-1)^2 + (X(2)-16)^2 + (X(3)+2)^4 + 5*norm(X(4)) + (X(5)+18)^2 + 10', 'X');
也就是说自变量不能是符合变量,
不知道matlab有没有办法可以把符合变量转换为inline的自变量。
非常期待您的回答