matlab二元函数拟合怎么设计函数。

下面是数据,要求拟合一个二元函数,自变量为a,b。请问在非线性拟合之前怎么设计函数,使其拟合误差最小。很急,请大家帮帮忙。a\b6.187.58.710.812.90.3... 下面是数据,要求拟合一个二元函数,自变量为a,b。请问在非线性拟合之前怎么设计函数,使其拟合误差最小。很急,请大家帮帮忙。

a\b 6.18 7.5 8.7 10.8 12.9
0.35 0.607 0.5303 0.5481 0.5158 0.581
0.4 0.742 0.5658 0.551 0.6376 0.8415
0.45 0.7534 0.6285 0.7258 0.6968 0.8522
0.5 0.8283 0.7279 0.9758 0.7751 0.836
0.55 0.8671 0.7375 1.0435 0.8035 0.8611
0.6 0.9155 0.884 1.1838 0.8288 1.0792
0.65 0.9325 0.9483 1.2278 1.0317 1.2311
0.7 1.0201 1.0156 1.3606 1.1687 1.6888
0.75 1.0231 1.1606 1.5829 1.2226 1.484
我要拟合的是二元函数,也就是说两个变量的,其中x是a,y是b。那么最后得出的就是z=f(x,y)的形式的二元函数,但要拟合之前要先构造一个函数,然后才能通过拟合得到公式的相关参数,从而得到一个比较好的公式。
就是在构造这个参数的时候总构造不好,拟合出来的误差比较大。请教高手这个初始构造的非线性函数怎么构造???数据就是上面的那些数据。急。。。请多帮忙。谢谢
展开
 我来答
MeChess
2011-10-12 · TA获得超过1538个赞
知道小有建树答主
回答量:448
采纳率:100%
帮助的人:567万
展开全部
非性线拟合一般是根据数据产生的特点来的(就是说数据产生符合什么分布函数)
对你这样的应用,我个人感觉使用线性拟合简单易行:
如下给定数据的拟合曲线:
x=[0.5,1.0,1.5,2.0,2.5,3.0];
y=[1.75,2.45,3.81,4.80,7.00,8.60];
p=polyfit(x,y,2)
plot(x,y)
计算结果为:
p =0.5614 0.8287 1.1560
即所得多项式为y=0.5614x^2+0.08287x+1.15560
-------------------------------------
如果你要非线性拟合,那么可以:
x=[1.1389 1.0622 0.9822 0.934 0.9251 0.9158];
y=[0.03 1 5.03 15.05 19.97 30.3];
myfunc=inline('-beta(1)*log(x+beta(2))-beta(3)','beta','x'); %非线性函数
beta=nlinfit(x,y,myfunc,[0 0 0]); %通过这个非线性函数进行拟合
k=beta(1),a=beta(2),b=beta(3)
%测试这个方程
xx=min(x):max(x);
yy=-k*log(x+a)-b;
plot(x,y,'o',x,yy,'r')
------------------------------------------------------------------------------------
以上x,y数据可以任意,就是你所提问的a,b。
追问
谢谢这位高手。但是我要拟合的是二元函数啊,也就是说两个变量的,其中x是a,y是b。那么最后得出的就是z=f(x,y)的形式的二元函数,但要拟合之前要先构造一个函数,然后才能通过拟合得到公式的相关参数,从而得到一个比较好的公式。
就是在构造这个参数的时候总构造不好,拟合出来的误差比较大。请教高手这个初始构造的非线性函数怎么构造???急。。。
笑笑麦子
2011-10-13
知道答主
回答量:17
采纳率:0%
帮助的人:24.2万
展开全部
你的情况可用1stopt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式