一 未定义与 ‘function_handle’ 类型的输入参数相对应的运算符 ‘-’。
r0_temp = @(lamda)[R * cos(lamda) ,R * sin(lamda) + v_y * lamda ]'; %光源点
beta = @(lamda)(r0_temp - r_temp);
r_temp是一个向量,[500;200];
解决方案:改成beta = @(lamda)(r0_temp(lamda) - r_temp);
二 一个函数的自变量是另一个函数的,如何求解
syms lamda
eu = @(lamda)[-sin(lamda) ,cos(lamda)]';
ew = @(lamda)[ cos(lamda) ,sin(lamda)]';
r0_temp = @(lamda)[R * cos(lamda) ,R * sin(lamda) + v_y * lamda ]'; %光源点
beta = @(lamda)(r0_temp(lamda) - r_temp);
gamma = @(lamda)(-atan2(dot(beta(lamda),eu(lamda)),dot(beta(lamda),ew(lamda))));
eqn = 1 - (v_y * cos(lamda) + R * (cos(gamma(lamda)).^2) - sin(gamma(lamda)) * v_y * sin(gamma(lamda) - lamda))/ ...
(cos(gamma(lamda)) * norm(r_temp - r0_temp(lamda))) == 0;
solx1 = vpasolve(eqn, lamda,[0,2*pi]);
lamdaA = double(solx1(1));
三for 循环 定义N个不同名变量
syms S10
del_S = S10;
for i = 11:150
syms(['S',num2str(i)]);
del_S = [del_S,['S',num2str(i)]];
end```
## 四 N个不同名的变量求解结果,存放在一个结构体里面,如何批量取出(变量名字各不相同)
```cpp
for i = 10:150
index = i-10+1;
del_S_Result(index) = double(solx.(['S',num2str(i)]));
end
这里的变量名字依次为S10, S11,…S150