matlab二元函数拟合
x=[23700200002300220020004500]';y=[9.39.49.46.79.28.7]';z=[25014162511238679607773539...
x=[23700 20000 2300 2200 2000 4500]';
y=[9.3 9.4 9.4 6.7 9.2 8.7]';
z=[25014 16251 12386 7960 7773 5390]';
这是我的数据,我想拟合一个x,y为自变量,z为因变量,即z=……x+……y的形式,且已知y越大,z越大,y属于(0,10),x属于(1000,10000),z属于(1000,100000)。
我初步做了个线形拟合,发现误差在30%左右。
观察到y值虽小,但影响重大,因此考虑指数拟合,但不知道怎样进行二元指数拟合。因此来问:
1、帮我参谋一下,指数函数是否满足这样的函数关系?
2、怎样进行二元指数拟合?如z=ax+2(或自然对数e)^(bx)+c(a,b,c为常数)
或另设解析式,一定要给出程序怎么写!!
感谢~ 展开
y=[9.3 9.4 9.4 6.7 9.2 8.7]';
z=[25014 16251 12386 7960 7773 5390]';
这是我的数据,我想拟合一个x,y为自变量,z为因变量,即z=……x+……y的形式,且已知y越大,z越大,y属于(0,10),x属于(1000,10000),z属于(1000,100000)。
我初步做了个线形拟合,发现误差在30%左右。
观察到y值虽小,但影响重大,因此考虑指数拟合,但不知道怎样进行二元指数拟合。因此来问:
1、帮我参谋一下,指数函数是否满足这样的函数关系?
2、怎样进行二元指数拟合?如z=ax+2(或自然对数e)^(bx)+c(a,b,c为常数)
或另设解析式,一定要给出程序怎么写!!
感谢~ 展开
2个回答
展开全部
1.不要想着什么都直接问别人要程序
2.matlab里有一个非线性拟合函数lsqcurvefit,我给你个范例,照着写就行了
x=0.019,0.023,0.027
y=430,380,256
3 parameters: a,b,c
target function: y=(a*(1-x/b)+x/b)^c
================================================
function Untitled3
clc
xi=[0.019,0.023,0.027];
yi=[430,380,256];
abc0=[4,0.5,5];
abc = lsqcurvefit(@fun,abc0,xi,yi)
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033
============================================
3.采用什么函数形式拟合要看你有没有合适的理论模型,如果没有模型的话,用多项式拟合最方便,matlab有函数polyfit,但我不知道能不能拟合二元函数,自己看下帮助
2.matlab里有一个非线性拟合函数lsqcurvefit,我给你个范例,照着写就行了
x=0.019,0.023,0.027
y=430,380,256
3 parameters: a,b,c
target function: y=(a*(1-x/b)+x/b)^c
================================================
function Untitled3
clc
xi=[0.019,0.023,0.027];
yi=[430,380,256];
abc0=[4,0.5,5];
abc = lsqcurvefit(@fun,abc0,xi,yi)
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033
============================================
3.采用什么函数形式拟合要看你有没有合适的理论模型,如果没有模型的话,用多项式拟合最方便,matlab有函数polyfit,但我不知道能不能拟合二元函数,自己看下帮助
展开全部
1.不要想着什么都直接问别人要程序
2.matlab里有一个非线性拟合函数lsqcurvefit,我给你个范例,照着写就行了
x=0.019,0.023,0.027
y=430,380,256
3 parameters: a,b,c
target function: y=(a*(1-x/b)+x/b)^c
================================================
function Untitled3
clc
xi=[0.019,0.023,0.027];
yi=[430,380,256];
abc0=[4,0.5,5];
abc = lsqcurvefit(@fun,abc0,xi,yi)
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033
============================================
3.采用什么函数形式拟合要看你有没有合适的理论模型,如果没有模型的话,用多项式拟合最方便,matlab有函数polyfit,但我不知道能不能拟合二元函数,自己看下帮助
2.matlab里有一个非线性拟合函数lsqcurvefit,我给你个范例,照着写就行了
x=0.019,0.023,0.027
y=430,380,256
3 parameters: a,b,c
target function: y=(a*(1-x/b)+x/b)^c
================================================
function Untitled3
clc
xi=[0.019,0.023,0.027];
yi=[430,380,256];
abc0=[4,0.5,5];
abc = lsqcurvefit(@fun,abc0,xi,yi)
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033
============================================
3.采用什么函数形式拟合要看你有没有合适的理论模型,如果没有模型的话,用多项式拟合最方便,matlab有函数polyfit,但我不知道能不能拟合二元函数,自己看下帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询