早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab多元线性拟合方程,急!x1=[199898.41 222123.69 242260.84 251602.56 345273.76 445956.84 499566.24]; x2=[5.003*10^-6 4.502*10^-6 4.128*10^-6 3.975*10^-6 2.896*10^-6 2.242*10^-6 2.002*10^-6]; x3=[2.503*10^-11 2.027*10^-11 1.704*10^-11

题目详情
matlab多元线性拟合方程,急!
x1=[199898.41 222123.69 242260.84 251602.56 345273.76 445956.84 499566.24];
x2=[5.003*10^-6 4.502*10^-6 4.128*10^-6 3.975*10^-6 2.896*10^-6 2.242*10^-6 2.002*10^-6];
x3=[2.503*10^-11 2.027*10^-11 1.704*10^-11 1.58*10^-11 8.388*10^-12 5.028*10^-12 4.007*10^-12];
x4=[1.252*10^-16 9.125*10^-17 7.033*10^-17 6.278*10^-17 2.429*10^-17 1.128*10^-17 8.021*10^-18];
x5=[6.263*10^-22 4.108*10^-22 2.903*10^-22 2.495*10^-22 7.036*10^-23 2.528*10^-23 1.606*10^-23];
y=[2.7919 2.7726 2.7586 2.7543 2.7176 2.6968 2.6893];
方程为:y=A0+ A1*x1+A2*x2+A3*x3+A4*x4+A5*x5
matlab新手,求各位高手指点一下,多谢!直接写程序就好了,直接能求出A0 A1 A2 A3 A4 A5,谢谢
▼优质解答
答案和解析
试一下:
function y=fun_009(a,x)
x1=x(1,:);x2=x(2,:);x3=x(3,:);x4=x(4,:);x5=x(5,:);
y=a(1)+ a(2)*x1+a(3)*x2+a(4)*x3+a(5)*x4+a(6)*x5;
新建文件:
clc,clear,clf
x(1,:)=[199898.41 222123.69 242260.84 251602.56 345273.76 445956.84 499566.24];
x(2,:)=[5.003*10^-6 4.502*10^-6 4.128*10^-6 3.975*10^-6 2.896*10^-6 2.242*10^-6 2.002*10^-6];
x(3,:)=[2.503*10^-11 2.027*10^-11 1.704*10^-11 1.58*10^-11 8.388*10^-12 5.028*10^-12 4.007*10^-12];
x(4,:)=[1.252*10^-16 9.125*10^-17 7.033*10^-17 6.278*10^-17 2.429*10^-17 1.128*10^-17 8.021*10^-18];
x(5,:)=[6.263*10^-22 4.108*10^-22 2.903*10^-22 2.495*10^-22 7.036*10^-23 2.528*10^-23 1.606*10^-23];
y=[2.7919 2.7726 2.7586 2.7543 2.7176 2.6968 2.6893];
a0=[3 0 -1 0.3 1.5 0.7];
options=optimset('TolFun',1e-015,'MaxFunEvals',100000);
a=lsqcurvefit('fun_009',a0,x,y,[],[],options)
y1=fun_009(a,x)
plot(y,'-')
hold on
plot(y1,'*')
结果:
a =


  1.0e+004 *


    0.0003    0.0000    3.8281    0.0000    0.0001    0.0001




y1 =


    2.7912    2.7730    2.7596    2.7541    2.7170    2.6965    2.6897