【发布时间】:2018-07-26 22:18:48
【问题描述】:
假设我们有一个 3 维数组 F 和一个 2 维矩阵 S。
首先我找到一个矩阵Y,它是F 乘以S。然后我尝试从Y 中找到F 的估计值(我们称之为F_est)作为我代码中的健全性检查。
谁能看出逻辑上的缺陷,我似乎不知道为什么F_est 不完全是F。
F= randn(2,4,600);
S= randn(4,600);
for i =1:size(F,1);
for j=1:size(F,2)
for k= 1:size(F,3)
Y(i,k)= F(i,j,k) * S(j,k);
end
end
end
for i =1:size(F,1)
for j=1:size(F,2)
for k= 1:size(F,3)
F_est(i,j,k)= Y(i,k) / S(j,k);
end
end
end
然后我尝试查看F_est - F 是否为零,而不是。有任何想法吗。非常感谢。
**** 在 cmets 之后编辑
根据我得到的答案,我想知道下面的代码是否有意义?
for k=1:size(F,3)
Y(:,k) = squeeze(F(:,:,k)* S(:,k)
end
如果我有 Y 和 S,我能恢复 F 吗?
【问题讨论】:
-
你能举个例子吗?
-
谢谢@AnderBiguri,所以这部分更大的代码我有输入
F和S的mat文件,但我用randn编辑了这个问题,但我的奇怪观察仍然成立 -
如果“非零”在 1e-12 左右:stackoverflow.com/questions/686439/…
-
@AndrasDeak 不是这样
-
关于您的更新:没有。我的意思是你仍然无法从
Y得到F,因为矩阵乘积不能那么容易地反转。