MATLAB 提示不允许使用函数句柄的非标量数组;请改用元胞数组。
functionF=myfunction(e,arfa,d,r0,gama,beta,r,theta)F=@(fai)[sin(fai-theta)-((d+e.*sin...
function F=myfunction(e,arfa,d,r0,gama,beta,r,theta)
F = @(fai) [sin(fai-theta)-((d+e.*sin(theta-arfa))./(r+r0.*sqrt((((cos(fai-beta)).^2)./(cos(gama)).^2)+(sin(fai-beta)).^2)))];
x0=[0];
fai=fsolve(F,x0)
主函数为
theta=0:pi/6:2*pi;
for i=1:11
theta(:,i)=(pi/6)*i-(pi/6);
e=0.001;arfa=pi/3;d=0.1;r0=10;gama=pi/108;beta=pi/6;r=2;
F(:,i)=myfunction(e,arfa,d,r0,gama,beta,r,theta(:,i));
end
结果:只能循环两次
警告:不允许使用函数句柄的非标量数组;请改用元胞数组。
问题出在哪? 展开
F = @(fai) [sin(fai-theta)-((d+e.*sin(theta-arfa))./(r+r0.*sqrt((((cos(fai-beta)).^2)./(cos(gama)).^2)+(sin(fai-beta)).^2)))];
x0=[0];
fai=fsolve(F,x0)
主函数为
theta=0:pi/6:2*pi;
for i=1:11
theta(:,i)=(pi/6)*i-(pi/6);
e=0.001;arfa=pi/3;d=0.1;r0=10;gama=pi/108;beta=pi/6;r=2;
F(:,i)=myfunction(e,arfa,d,r0,gama,beta,r,theta(:,i));
end
结果:只能循环两次
警告:不允许使用函数句柄的非标量数组;请改用元胞数组。
问题出在哪? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询