作业帮 > 综合 > 作业

用matlab求柯布道格拉斯函数 急!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 17:43:49
用matlab求柯布道格拉斯函数 急!

多谢!

 


你把数据用文字状态写出来,用图片我还得一个一个打.
再问: 肿么发文字吖,发不上去噻。 要不孩纸你私信我Email,我发你Word行不行?
再答: clc;clear;close all
format long
A=[
0.7171 0.0910 4.8179
0.8964 0.2543 4.9873
1.0202 0.3121 5.1282
1.1962 0.3792 5.2782
1.4928 0.4754 5.4334
1.6909 0.4410 5.5329
1.8548 0.4517 6.4749
2.1618 0.5595 6.5491
2.6638 0.8080 6.6152
3.4634 1.3072 6.6808
4.6759 1.7042 6.7455
5.8478 2.0019 6.8065
6.7885 2.2914 6.8950
7.4463 2.4941 6.9820
7.8345 2.8406 7.0637
8.2068 2.9854 7.1394
9.9468 3.2918 7.2085
9.7315 3.7314 7.3025
10.4791 4.3500 7.3740
];

Q=A(:,1);
K=A(:,2);
L=A(:,3);
D=[K,L];
x0=[0.5;0.5;0.5];
LB=[-inf;0;0];
UB=[inf;1;1];
f=@(p,d) p(1)*d(:,1).^p(2).*d(:,2).^p(3);
z=lsqcurvefit(f,x0,D,Q,LB,UB)
disp('参数如下')
a=real(z(1))
apha=real(z(2))
beta=real(z(3))
zz=[a,apha,beta];
QQ=feval(f,zz,D);
%plot(t,K,'k*')
%hold on
%plot(t,DD,'r') 
%legend('原始数据散点图','拟合后函数曲线图')
%残差
disp('    原始数值             拟合数值             两者之间差值         相对误差百分数');
disp([Q,QQ,QQ-Q,abs((QQ-Q)./Q)*100])
disp('残差平方和')
v=sum((QQ-Q).^2)
再答: clc;clear;close all
format long
A=[
0.7171 0.0910 4.8179
0.8964 0.2543 4.9873
1.0202 0.3121 5.1282
1.1962 0.3792 5.2782
1.4928 0.4754 5.4334
1.6909 0.4410 5.5329
1.8548 0.4517 6.4749
2.1618 0.5595 6.5491
2.6638 0.8080 6.6152
3.4634 1.3072 6.6808
4.6759 1.7042 6.7455
5.8478 2.0019 6.8065
6.7885 2.2914 6.8950
7.4463 2.4941 6.9820
7.8345 2.8406 7.0637
8.2068 2.9854 7.1394
9.9468 3.2918 7.2085
9.7315 3.7314 7.3025
10.4791 4.3500 7.3740
];

Q=A(:,1);
K=A(:,2);
L=A(:,3);
D=[K,L];
x0=[0.5;0.5;0.5];
LB=[-inf;0;0];
UB=[inf;1;1];
f=@(p,d) p(1)*d(:,1).^p(2).*d(:,2).^p(3);
z=lsqcurvefit(f,x0,D,Q,LB,UB)
disp('参数如下')
a=real(z(1))
apha=real(z(2))
beta=real(z(3))
zz=[a,apha,beta];
if (0)
     z=regress(log(Q),[ones(size(Q)),log(K),log(L)]);
      z(1)=exp(z(1));
zz=z;
end
QQ=feval(f,zz,D);
%plot(t,K,'k*')
%hold on
%plot(t,DD,'r') 
%legend('原始数据散点图','拟合后函数曲线图')
%残差
disp('    原始数值             拟合数值             两者之间差值         相对误差百分数');
disp([Q,QQ,QQ-Q,abs((QQ-Q)./Q)*100])
disp('残差平方和')
v=sum((QQ-Q).^2)