从这段代码做一个循环
1视图(30天)
显示旧的评论
答案(1)
威廉•罗斯
2022年9月4日
@John
,
也许你想做一个速度测试比较一下你家函数的矢量化代码循环等价的。
代码发现三次多项式的系数适合的数据向量x, y。
所以我创建了一个y向量是一个立方x的函数,加上噪声。然后我写一套neested for循环来代替中注释掉。
x = 5;
ce = (-10、1、1、2);%三次方程系数
% * x + y = ce0 + ce1 ce2 * x ^ 2 + ce3 * x ^ 3
y = ce(1) *的(大小(x)) + ce (2) * x + ce (3) * x。^ 2 + ce (4) * x。^ 3 + randn(1、长度(x));
%:编写代码,使用for循环,约翰的函数
k = 3;
% X = X (:)。^ (0: k)];% X将长度(X) 4
X = 0(长度(X), 4);
为i = 1:长度(x)
为j = 0: k
X (i, j + 1) = X ^ j(我);
结束
结束
y = y (:);
c = X、y;
p = fliplr (c”)
注意,p是相反的ce,由于翻转操作。你也可以写for循环来完成操作c = X / y。这将是更复杂的。
祝你好运。