24小时热门版块排行榜    

查看: 2710  |  回复: 0

dubo

金虫 (著名写手)

优秀版主

[求助] Failure in initial user-supplied objective function evaluation

fum.m:
function [ f ] = fun( c,x )
%UNTITLED3 Summary of this function goes here
%   Detailed explanation goes here
% f=1-8/9.8696.*exp(-9.8696.*c(1).*x/(c(2).^2));
f=c(1).*exp(-c(2).*x)+c(3).*((exp(c(4).*x))./x)^0.5;
end

ana.m:
clc;clear;
data=[0  0
1        27.33333333
2        37.46666667
3        48.5
4        57.6
5        66.53333333
6        74.43333333
8        85.33333333
10        91.1
12        95.5
14        96.53333333
17        97.3
20        97.93333333
24        98.33333333];
xdata=data(:,1);
ydata=data(:,2)./100;
c0=[1 0 -0.6506 0.1];
c=c0;
for i=1:2
c = lsqcurvefit ('fun', c0, xdata, ydata) ;
c0 = c; %以计算出的 c为初值进行迭代;
end
c
x=0:0.5:25;
y1=c(1).*exp(-c(2).*x)+c(3).*((exp(c(4).*x))./x).^0.5;
plot(xdata, ydata,'o',x,y1,'r');
legend ('实验数据 ','拟合曲线');

报错:

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.

意思是初始值设置的不合理导致的吗?那么这个初始值应该怎么选呢??谢谢!!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 dubo 的主题更新
信息提示
请填处理意见