我想解决下图所示的以下方程组,
矩阵系统
其中矩阵A的分量是复数,角度(theta)从0 to 2*pi
开始,有{m}个分区,n = 9
。已知值z = x + iy.
假设矩阵z的x和y是
z =
0 1.0148
0.1736 0.9848
0.3420 0.9397
0.5047 0.8742
0.6748 0.8042
0.8419 0.7065
0.9919 0.5727
1.1049 0.4022
1.1757 0.2073
1.1999 0
1.1757 -0.2073
1.1049 -0.4022
0.9919 -0.5727
0.8419 -0.7065
0.6748 -0.8042
0.5047 -0.8742
0.3420 -0.9397
0.1736 -0.9848
0 -1.0148
你如何迭代地解决它们?请注意,所需常量的第一个组件的值必须等于1.我正在使用Matlab。
答案 0 :(得分:2)
您可以为复杂值数据应用simple multilinear regression。
您的线性系统
没有矩阵,写成
重新排列了yelds
如果你用矩阵重写它,你会得到
让上面的系统
,其中
现在,您可以应用线性回归,在
时返回最适合α
的回归
其中
是共轭转置。
Y = Z - A(:,1); % Calculate Y subtracting the first col of A from Z
R = A(:,:); R(:,1) = []; % Calculate R as an exact copy of A, just without first column
Rs = ctranspose(R); % Calculate R-star (conjugate transpose of R)
alpha = (Rs*R)^(-1)*Rs*Y; % Finally apply multiple linear regression
alpha = cat(1, 1, alpha); % Add alpha1 back, whose value is 1
或者,如果您更喜欢内置插件,请查看regress
功能:
Y = Z - A(:,1); % Calculate Y subtracting the first col of A from Z
R = A(:,:); R(:,1) = []; % Calculate R as an exact copy of A, just without first column
alpha = regress(Y, R); % Finally apply multiple linear regression
alpha = cat(1, 1, alpha); % Add alpha1 back, whose value is 1