[英]Matlab Linear Regression
我有 4 个数据集,我需要对它们进行线性回归。 我在输入的矩阵中不断出错。
这是我尝试做的:我将四个不同的数据集作为矩阵输入并创建一个 for 循环,该循环将遍历每组数据并对每组数据执行相同的计算。
不确定我的 for 循环是否有效 - 我有非常非常基本的 matlab 知识,所以任何帮助将不胜感激!
x{1} = [1; 2; 3];
y{1} = [2; 3; 4];
% Assume the following matrices are similar to the ones above
x{2} = [...];
y{2} = [...];
x{3} = [...];
y{3} = [...];
x{4} = [...];
y{4} = [...];
for i = 1:1:4
z = [ones(size(x(i))) x(i)];
a = z\y(i); % Line with error
St = sum((y(i)-mean(y(i))).^2);
Sr = sum((y(i)-(10^(a(1))*x(i).^a(2))).^2);
r2 = 1-Sr/St;
syx = sqrt(Sr/(length(x(i))-length(a)));
end
正如评论中所建议的,这是 {} 而不是 () 的问题。 尝试:
z = [ones(size(x{i})) x{i}];
a = z\y{i};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.