|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2007-8-4 18:39
|
显示全部楼层
我把3组数据重新调整了一下,让他们尽量接近我的数据。
clc; clear; close all;
% Version: 04.08.2007
% Author: Wang,Lei
% This file is used to test a fitting problem
% y = (x1*x2 + 1)/(x1*x2^2 + x1*x2 - 1)
x1 = (1e-10:1e-10:1e-8)';
x2 = 323*ones(size(x1));
y = (0.5:-0.008:-0.2992)' ;
A = [y.*x1.*x2.^2 y.*x1.*x2 -x1.*x2 -ones(size(x1))];
[U S V] = svd(A'*A);
Sinv = zeros(size(S));
for i = 1:size(S,1)
Sinv(i,i) = 1/S(i,i);
end
W = inv(V')*Sinv*inv(U) * A'* y
y_fit = (W(3).*x1.*x2 + W(4))./(W(1).*x1.* x2.^2 +W(2).*x1.*x2 - 1);
semilogx(x1,y,'r*-', x1, y_fit, 'bo-');
结果如下
W =
1.0e+005 *
-0.0000
0.0045
2.4768
-0.0000
[ 本帖最后由 zhiyucn 于 2007-8-4 20:01 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|