chenjc18 发表于 2009-6-8 19:08

如何在双对数坐标系中 进行最小二乘直线 拟合

请见例图,我想在双对数坐标中,根据整个曲线进行最小二乘直线拟合,我在附件中提供了画图所用的x,y数据,请各位朋友帮忙看一下。

ps:我之前在绘制得到的图形中,使用figure-tools-basic fitting ,并不能得到最小二乘直线及方程式;

ChaChing 发表于 2009-6-9 21:07

load x.txt; load y.txt
x=x(2:end); y=y(2:end);
aa=; bb=log10(y');
cc=aa\bb; yy=10.^(aa*cc);
loglog(x,y,'*-'); grid on; hold on; loglog(x,yy,'g','LineWidth',2)

chenjc18 发表于 2009-6-12 11:39

回复 沙发 ChaChing 的帖子

谢谢你的解答 程序运行成功!不过,有几个问题向你请教下:
1. 对 cc=aa\bb; yy=10.^(aa*cc); 不太明白,麻烦你再详细解释一下,:@)
2. 我尝试针对aa(:,1)与bb 使用polyfit这个函数进行最小二乘拟合,如p=polyfit(aa(:,1),bb,1); 得到的p与cc相同,那么是不是这样:cc就是一次项与常数项的系数组成的数组?

ChaChing 发表于 2009-6-12 22:44

回复 板凳 chenjc18 的帖子

1.看看Arithmetic Operators帮助文献
...If A is an m-by-n matrix with m ~= n and B is a column vector with m components, or a matrix with several such columns, then X = A\B is the solution in the least squares sense to the under- or overdetermined system of equations AX = B. ...
2.polyfit是一样的! cc就是一次项与常数项的系数

chenjc18 发表于 2009-6-14 22:00

恩 明白了
谢谢 chaching

footballandsun 发表于 2009-7-12 12:22

回复 楼主 chenjc18 的帖子

如何在双对数坐标系中 进行最小二乘曲线拟合,拟合公式为:y=a/(1+(x/b).^2)。
以LZ的数据为例,实现大致如下拟合曲线
file:///C:/Program%20Files/Tencent/QQ/Users/348671923/Image/11LVH(S3%O{%JCXE33HS1YX.jpg

[ 本帖最后由 footballandsun 于 2009-7-12 12:24 编辑 ]
页: [1]
查看完整版本: 如何在双对数坐标系中 进行最小二乘直线 拟合