声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3480|回复: 4

[编程技巧] 如何在对数坐标下直线拟合

[复制链接]
发表于 2007-6-20 18:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问一下,有谁知道在matlab中如何对在对数坐标下的一些点进行直线拟合?
点的坐标不变,只把坐标系的x轴变为对数坐标,我用直线拟合命令出来的结果是折线,如何能用直线拟合呢?

[ 本帖最后由 eight 于 2007-6-20 19:21 编辑 ]
2.BMP
回复
分享到:

使用道具 举报

发表于 2007-6-20 19:05 | 显示全部楼层
呵呵,你把那几个点的坐标给出来吧。
 楼主| 发表于 2007-6-20 19:16 | 显示全部楼层
x=[504000,1512000,4271100,4839700,7030200,10474000];
y=[0.1094,0.2656,0.4219,0.5781,0.7344,0.8906]
发表于 2007-6-20 20:10 | 显示全部楼层
x=[504000,1512000,4271100,4839700,7030200,10474000];
y=[0.1094,0.2656,0.4219,0.5781,0.7344,0.8906];
plot(x,y,'.')
grid on
x1 = log(x);
x2 = x1(1):.1:x1(end);
p = polyfit(x1,y,1);
y2 = polyval(p,x2);
x11 = exp(x2);
hold on;
plot(x11,y2,'*')
set(gca,'XScale','log')

评分

1

查看全部评分

 楼主| 发表于 2007-6-20 20:47 | 显示全部楼层
收到了,谢谢!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 04:39 , Processed in 0.080819 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表