繁体   English   中英

Matlab 线性回归

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM