请问如何将下列数据用Matlab拟合成形如y=a*x1^b*x2^c*x3^d*x4^e 的曲线,给出a、b、c、d、e的值,还需绘图 5
x1=[45403025251810];x2=[45354535252545];x3=[2.813.313.55.027.059.779.88];x4=[0.0210.0...
x1=[45 40 30 25 25 18 10];x2=[45 35 45 35 25 25 45] ;x3=[2.81 3.31 3.5 5.02 7.05 9.77 9.88];x4=[0.021 0.030 0.025 0.032 0.034 0.035 0.028];y=[2.38 1.81 1.04 0.86 0.79 0.65 0.62]。请问如何将以上数据用Matlab拟合成形如y=a*x1^b*x2^c*x3^d*x4^e 的曲线并求出相应的a、b、c、d、e的值,且需绘制实测值与拟合值的曲线图。多谢!
展开
1个回答
展开全部
拟合的方法是对给出的公式两边取对数,得到一个线性方程组,然后由超定方程组的方法求出系数。至于绘图,好像多维的图像很难绘制的。你这里有4个x呢!
x1=[45 40 30 25 25 18 10];
x2=[45 35 45 35 25 25 45] ;
x3=[2.81 3.31 3.5 5.02 7.05 9.77 9.88];
x4=[0.021 0.030 0.025 0.032 0.034 0.035 0.028];
y=[2.38 1.81 1.04 0.86 0.79 0.65 0.62];
xx=[ones(length(x1),1) log(x1)' log(x2)' log(x3)' log(x4)'];
yy=log(y)';
A=yy\xx;
a=exp(A(1))
b=A(2)
c=A(3)
d=A(4)
e=A(5)
祝你学习愉快!
x1=[45 40 30 25 25 18 10];
x2=[45 35 45 35 25 25 45] ;
x3=[2.81 3.31 3.5 5.02 7.05 9.77 9.88];
x4=[0.021 0.030 0.025 0.032 0.034 0.035 0.028];
y=[2.38 1.81 1.04 0.86 0.79 0.65 0.62];
xx=[ones(length(x1),1) log(x1)' log(x2)' log(x3)' log(x4)'];
yy=log(y)';
A=yy\xx;
a=exp(A(1))
b=A(2)
c=A(3)
d=A(4)
e=A(5)
祝你学习愉快!
追问
哦,是这样,明白了,多谢!
追答
那就好!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询