我被这个错误卡住了:为什么不是标量的结果?
在赋值A(I)= B中,B和I中的元素数必须相同。 (1)=((u-uc)。^ 2)+((y-yc)。^ 2) - (d。^ 2); 我不明白,为什么这不会得到一个skalar?因为元素都是标量。应该改变什么来获得标量?
问候
编辑:感谢sloede,所有的输入都是标量,但我仍然得到这个错误
在分配A(I)= B,B中元素的个数,我必须 相同。
Error in myfun (line 7)
yres(1)=sqrt(((u - uc).^2) + ((y - yc).^2)) -d;
Error in fsolve (line 241)
fuser = feval(funfcn{3},x,varargin{:});
Error in modfsolve (line 26)
x= fsolve(@myfun,x0,options,uc,d,spacing_amplitude,spacing_width);
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE
cannot continue.*
或正常矢量化的功能(如果可能的话): 您可以通过添加自己的函数中的下列建设解决这个问题(当然它改变您的需要/你的参数)可以插入命令'whos y uc y uc y yc d',并报告输出?输入变量或分配的变量肯定存在问题,'whos'命令将允许您查看这些变量的属性。 – 2012-07-06 07:02:31