我有一个向量 x = [x_1 x_2 ... x_n],一个向量 y = [y_1 y_2 y_3]和一个矩阵 X = [x_11 x_12 ... x_1n; x_21 x_22 ... x_2n; x_31 x_32 ... x_3n]。
对于var PDFDocument = require('pdfkit');
var doc = new PDFDocument;
doc.size=[50,50];
doc.end()
,我想在MATLAB中计算以下i = 1, 2, ..., n
:
sum
我试图写的是以下MATLAB代码:
sum((x(i) - y*X(:,i))^2)
但是我想知道我是否可以在没有for循环的情况下计算它,以便潜在地减少计算时间,特别是如果vv = (x(1) - y*X(:,1))^2; % as an initialization for i=1
for i = 2 : n
vv = vv + (x(i) - y * X(:,i))^2
end
非常高......那么在MATLAB中有没有其他更优化的可能性?
非常感谢任何帮助!
答案 0 :(得分:1)
根本不需要循环,
for i = 2:n
y*X(:,i)
end
与y*X
相同,所以x(i) - y X(:,i)只是x - y X所以基本上它是:
vv = sum((x - y * X).^2);
感谢@beaker指出错误。