- 积分
- 0
- 注册时间
- 2010-3-18
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 messenger 于 2010-7-20 12:53 编辑
Q1=A(:,:,1)*(( transpose(A(:,:,1))*A(:,:,1))\(transpose(A(:,:,1))*Q(:,:,1)))
Q_2=(Q(:,:,1)-Q1).*(Q(:,:,1)-Q1);
f=@(tc1)sum(Q_2);
[tc1,f]=fminbnd(f,90,10800)
想通过以上程序求得变量tc1在区间(90,10800)内sum(Q_2)的最小值,可是出现以下问题,
??? Function 'le' is not defined for values of class 'sym'.
Error in ==> le at 18
[varargout{1:nargout}] = builtin('le', varargin{:});
Error in ==> fminbnd at 277
if fu <= fx
但是如果先计算出sum(Q_2)然后粘贴至f方程中又可以完成求值过程,请问是否因为存在变量的原因呢?如果想一气呵成应该怎样做呢?
请大家帮帮我(Q_2是含有tc1字符变量的变量) |
|