matlab非线性拟合
x^a+y^b=1,在matlab中用最小二乘法拟合,求参数a和b?求程序(包括m文件和命令)。...
x^a+y^b=1,在matlab中用最小二乘法拟合,求参数a和b?
求程序(包括m文件和命令)。 展开
求程序(包括m文件和命令)。 展开
1个回答
展开全部
x^a+y^b=1的最小二乘法拟合,可以用matlab的nlinfit函数来拟合。实现代码
clc
x=[。。。];y=[。。。]; %已知数据
n=length(x);
X=[x y];
y=ones(1,n);
func=@(a,x)1-x(1)^a(1)-x(2)^a(2);
X0=[1,1];
a= nlinfit(X,y,func,X0);
b=a(2),a=a(1)
clc
x=[。。。];y=[。。。]; %已知数据
n=length(x);
X=[x y];
y=ones(1,n);
func=@(a,x)1-x(1)^a(1)-x(2)^a(2);
X0=[1,1];
a= nlinfit(X,y,func,X0);
b=a(2),a=a(1)
追问
在倒数第二步 a= nlinfit(X,y,func,X0);爆错
Error using ==> nlinfit
MODELFUN should return a vector of fitted values the same length as Y.
追答
你最好x,y的数据贴出来,好帮你解决。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询