Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-07-20, 16:44   #1
cnzjtzszf
初级会员
 
注册日期: 2010-03-23
帖子: 1
声望力: 0
cnzjtzszf 正向着好的方向发展
微笑 关于fminbnd的问题

本人是初学者.
A(:,:,1)是一个含有字符参数tc1的4×9矩阵如下:
A(:,:,1)=[3 6 8 tc1 5 7 6 4 2;
6 4 5 1 3 8 2 4 tc1;
6 4 8 3 0 tc1 8 3 5;
5 8 7 2 6 tc1 6 3 4;]
Q(:,:,1)=[5;7;3;4];
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方程中又可以完成求值过程,请问是否因为变量的原因呢?如果想一气呵成应该怎样做呢?

请大家帮帮我(tc1是字符变量)
cnzjtzszf 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 14:39


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.