- 在线时间
- 10 小时
- 最后登录
- 2013-5-19
- 注册时间
- 2008-11-13
- 听众数
- 2
- 收听数
- 0
- 能力
- 0 分
- 体力
- 950 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 376
- 相册
- 0
- 日志
- 0
- 记录
- 17
- 帖子
- 175
- 主题
- 5
- 精华
- 0
- 分享
- 0
- 好友
- 13
升级   25.33% TA的每日心情 | 奋斗 2013-5-19 19:04 |
---|
签到天数: 1 天 [LV.1]初来乍到
 群组: Matlab讨论组 群组: C 语言讨论组 群组: LINGO 群组: 数学建摸协会 |
问题:
麻烦高手帮忙看看这个程序问题出在哪?谢谢
采用最小二乘拟合进行参数估计:
数据是:
t yield
20 0.3558
40 0.4922
60 0.6034
80 0.6129
100 0.7248
120 0.6714
%%%%%%%%%%%%%%%%
%fun11.m函数的建立
%a(1)=N,a(2)=A;
function E=fun11(a,t,yield)
t=t( ;
yield=yield( ;
Y=((a(1)/a(2)*0.01)^0.5)*(1/((tan((1+((a(1)/a(2)*0.01)^0.5)^2)/exp(2*a(1)*t)))^0.5)-1/(tan((a(1)/a(2)*0.01)^0.5)));
E=sum((yield-Y).^2);
%%%%%%%%%%%%%%%%%%%%%%%
%%程序为
t=z(:,1);
yield=z(:,2);
a0=[1 1]';
t=z(:,1);
yield=z(:,2);
a0=[1 1]';
options=optimset('fminsearch');
options.TolX=0.01;
options.Display='off';
a=fminsearch(@fun11,a0,options,t,yield);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Malab报错为:
??? Error using ==> mpower
Matrix must be square.
Error in ==> fun11 at 6
Y=((a(1)/a(2)*0.01)^0.5)*(1/((tan((1+((a(1)/a(2)*0.01)^0.5)^2)/exp(2*a(1)*t)))^0.5)-1/(tan((a(1)/a(2)*0.01)^0.5)));
Error in ==> fminsearch at 175
fv(:,1) = funfcn(x,varargin{:});
是因为函数构建上的问题吗?感觉exp后的函数是一个标量与矩阵的相乘,应该没什么太大的问题啊?是使用的初值的问题吗?初值使用其它软件带入的方法未能计算出来,所以随意给出的,如果要忽略初值问题该用什么方法估计好点呢?是迭代吗?谢谢高手指点???
|
zan
|