【发布时间】:2013-01-29 15:20:40
【问题描述】:
我正在寻找一种方法来忽略矩阵中的特定条目,以便在 MATLAB 中进行后续线性回归
我有两个矩阵:y =
9.3335 7.8105 5.8969 3.5928
23.1580 19.6043 15.3085 8.2010
40.1067 35.2643 28.9378 16.6753
56.4697 51.8224 44.5587 29.3674
70.7238 66.5842 58.8909 42.7623
83.0253 78.4561 71.1924 53.8532
和 x =
300 300 300 300
400 400 400 400
500 500 500 500
600 600 600 600
700 700 700 700
800 800 800 800
我需要对 y 介于 20 到 80 之间的点进行线性回归,因此我需要一种方法来完全自动化该过程。我尝试制作离群的 y 值 [及其对应的 x 值] NaN,但在线性回归期间,matlab 将 NaN 包含在计算中,因此我得到了 NaN 输出。任何人都可以提出一个忽略这些条目或完全忽略 NaN 计算的好方法吗? (注意:y 中的列通常会有不同的值组合,所以我无法消除整行)。
【问题讨论】:
-
您会分别对每一列执行线性回归,还是所有数据都对单个回归有贡献?
-
你使用什么版本的 Matlab?您可以访问统计工具箱吗?
-
林。注册将分别在每一列上完成,是的。我的目标是获得四对不同的斜率/截距,以便我可以使用循环进行以后的计算。
-
我的 Matlab 版本是 R2011a。不知道统计工具箱是什么。
-
感谢乔纳斯!它完美地工作!虽然我承认,但我并不完全理解循环中发生了什么以及如何从中获得线性回归值(我为此使用了一阶 polyfit)。你能详细说明那里发生了什么吗?谢谢。
标签: matlab