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
结果:只能循环两次
警告:不允许使用函数句柄的非标量数组;请改用元胞数组。
问题出在哪?
展开
 我来答
草原上之狼
高粉答主

2017-09-12 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4018万
展开全部
子函数返回的是一个函数句柄,不能赋值给标量数组,必须用元胞数组,改成F{i}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式