如何用MATLAB将一组散点数据拟合成一个对数函数 30

横坐标为x对应纵坐标数据为y,希望将其拟合成误差尽量小的对数函数y=a+blgS.如何在matlab里面实现。希望画出的图形里面既有散点,又有拟合的曲线。哪位高手不吝赐教... 横坐标为x对应纵坐标数据为y,希望将其拟合成误差尽量小的对数函数y=a+blgS.如何在matlab里面实现。希望画出的图形里面既有散点,又有拟合的曲线。哪位高手不吝赐教,谢谢了!
x=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1]
y=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06]
展开
百度网友b135e29
2010-07-02 · TA获得超过252个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:89.7万
展开全部
xdata=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];
ydata=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];
x0=[1;1];
fun=@(x,xdata) x(1)+x(2)*log(xdata);
x=lsqcurvefit(fun,x0,xdata,ydata);
xn=0:0.01:1;
scatter(xdata,ydata,'X');
hold on
plot(xn,x(1)+x(2)*log(xn),'g');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dbb627
推荐于2018-05-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1387万
展开全部
x=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];
y=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];
x=x';y=y';
st_ = [0.1 0.7];
ft_ = fittype('a+b*log(x)' ,...
'dependent',{'y'},'independent',{'x'},...
'coefficients',{'a', 'b'});
cf_ = fit(x,y,ft_ ,'Startpoint',st_)
plot(x,y,'o')
hold on,
plot(cf_,'fit',0.95)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wacs5
2010-07-02 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2784万
展开全部
x=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];
y=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];
ba=[log10(x(:)),ones(size(x(:)))]\y(:); %如果你的lgS是以自然对数为底的话,请用log函数代替log10,下面作图也是一样的.
a=ba(2)
b=ba(1)

plot(x,y,'*',x,a+b*log10(x),'r-')
legend('原始数据','拟合值')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式