В вашей текущей рабочей папке создайте основанный на классах тест, preallocationTest.m, который сравнивает различные методы предварительного выделения.
classdef preallocationTest < matlab.perftest.TestCase
methods(Test)
function testOnes(testCase)
x = ones(1,1e7);
end
function testIndexingWithVariable(testCase)
id = 1:1e7;
x(id) = 1;
end
function testIndexingOnLHS(testCase)
x(1:1e7) = 1;
end
function testForLoop(testCase)
for i=1:1e7
x(i) = 1;
end
end
end
end
Создайте тестовый набор.
Создайте эксперимент времени с постоянным числом демонстрационных измерений и запустите тесты.
Running preallocationTest
.......... .......... .......... ..........
Done preallocationTest
__________
result =
1x4 MeasurementResult array with properties:
Name
Valid
Samples
TestActivity
Totals:
4 Valid, 0 Invalid.