如何让代码有效吗?
3视图(30天)
显示旧的评论
答案(3)
大卫•希尔
2021年6月8日
n = 10;
(x, y) = meshgrid (0: n - 1);
idx =国防部(y) ^ 2 x ^ 3 - 2 * 3, n) = = 0;
xy_mtx = [x (idx), y (idx)];
4评论
大卫•希尔
2021年6月8日
编辑:大卫•希尔
2021年6月8日
你可以试着帮助记忆的建议,试图增加内存,或者你可以添加嵌套循环和做批2中的meshgrids e4(慢)。也记住浮点的局限性。
n = 1 e6;
xy_mtx = [];
为k = 1:50
为j = 1:50
(x, y) = meshgrid (0 + (k - 1) * 2 e4: min (2 e4-1 + (k - 1) * 2 e4, n - 1), 0 + (j - 1) * 2 e4: min (2 e4-1 + (j - 1) * 2 e4, n - 1));
idx =国防部(y) ^ 2 x ^ 3 - 2 * 3, n) = = 0;
xy_mtx = [xy_mtx; x (idx), y (idx)];
结束
结束
郑宇硕
2021年6月8日
你可以一次性电影你不依赖于之前的值。
n = 4
x = (0: n - 1);
y = (0: n - 1);
k = 0;
% % Orig_code
抽搐
为i = 1: n
为j = 1: n
如果快速眼动(((y (j)) ^ 2) - ((x (i)) ^ 3) 2 * (x (i)) 3、n) = = 0
k = k + 1;
xy_mtx (k) = (x (i) y (j));
结束
结束
结束
time1 = toc;
抽搐
% %尽
[X Y] = meshgrid (X, Y);%生成x和y的组合
REMmat =快速眼动((y ^ 2)——(X ^ 3) 2 * (X) 3、n);%执行所有快速眼动的计算
[indexies] =找到(REMmat = = 0);%找到指数快速眼动的0
xy_mtxM = [X (indexies) Y (indexies)];%只把X和Y梳子。上面rem -在哪里
time2 = toc;
disp ([xy_mtx xy_mtxM])
disp ([原来的:“num2str (time1)“年代”])
disp ([“新:”num2str (time2)“年代”])
disp ([的时间增量:num2str (time1-time2)“年代”])