[已解决] 如何使用polyfit来拟合y=k*x型直线?(不是kx+b). 使用fit函数直接拟合速度比较慢

[复制链接]
QiangYang 发表于 2021-1-8 21:22:03
大家好, 现在我需要拟合一个直线y=k*x, 直线过原点.
我用来fit函数直接拟合, 数据量太大, 但是速度有点慢.
以前尝试过polyfit, 拟合y=k*x+b非常快, 但是好像不能拟合y=k*x.
在网上查找有人推荐使用regression或者/号, 但是我这个拟合任务里有一个weight项, 所以好像只能使用fit或者polyfit.
想请问一下大家该怎么办?
谢谢了!

最佳答案


maple1314168 发表于 2021-1-12 10:36:45
QiangYang 发表于 2021-1-12 10:23
你好, 关键是还有一个weight向量, 定义了每个数据的权重,这样该怎么办呢?

可以参考 fitlm函数
里面有截距与权重的设置。

4 条回复


maple1314168 发表于 2021-1-12 10:16:50
简单一点,约束截距为0
x=[1:5]';
y=2*x+rand(5,1)/10;
A=[x zeros(5,1)];
regress(y,A)

QiangYang 发表于 2021-1-12 10:23:21
maple1314168 发表于 2021-1-12 10:16
简单一点,约束截距为0
x=[1:5]';
y=2*x+rand(5,1)/10;

你好, 关键是还有一个weight向量, 定义了每个数据的权重,这样该怎么办呢?

maple1314168 发表于 2021-1-12 10:36:45
QiangYang 发表于 2021-1-12 10:23
你好, 关键是还有一个weight向量, 定义了每个数据的权重,这样该怎么办呢?

可以参考 fitlm函数
里面有截距与权重的设置。
回复此楼

QiangYang 发表于 2021-1-12 21:25:01
maple1314168 发表于 2021-1-12 10:36
可以参考 fitlm函数
里面有截距与权重的设置。

好的, 多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表