Класс: matlab.perftest. TimeExperiment
Пакет: matlab.perftest
Создайте эксперимент времени для заданного предела погрешности и доверительного уровня
experiment = matlab.perftest.TimeExperiment.limitingSamplingError
experiment = matlab.perftest.TimeExperiment.limitingSamplingError(Name,Value)
experiment = matlab.perftest.TimeExperiment.limitingSamplingError
создает эксперимент времени для каждого элемента тестового набора с заданными статистическими целями (такими как предел погрешности и доверительный уровень). Этот метод возвращает экземпляр FrequentistTimeExperiment
. Этот синтаксис использует следующие значения по умолчанию, чтобы определить количество демонстрационных измерений.
Количество измерений прогрева: 4
Минимальное количество выборок: 4
Максимальному количеству выборок, собранных в конечном счете другие статистические цели, не соответствуют: 32
Объективный относительный предел погрешности для выборок: 0.05 (5%)
Доверительный уровень для выборок, чтобы быть в относительном пределе погрешности: 0.95 (95%)
создает эксперимент времени с дополнительными опциями, заданными одним или несколькими аргументами пары experiment = matlab.perftest.TimeExperiment.limitingSamplingError(Name,Value)
Name,Value
. Используйте этот синтаксис, чтобы заменить упомянутые выше значения по умолчанию.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
экспериментируйте = matlab.perftest. TimeExperiment.limitingSamplingError ('RelativeMarginOfError', 0.12, 'MaxSamples', 100)
создает эксперимент времени, который собирает демонстрационные измерения, пока выборки не имеют относительный предел погрешности 12%, или пока это не собирает 100 измерений.'NumWarmups'
Количество измерений прогреваКоличество измерений прогрева, заданных как неотрицательное целое число. Значение задает число раз, что среда тестирования осуществляет тестовый код, чтобы нагреть его.
MinSamples
Минимальное количество выборокМинимальное количество демонстрационных измерений, заданных как положительное целое число. Значение задает минимальное число раз, что среда тестирования осуществляет тестовый код после любых выполнений прогрева. Среда тестирования осуществляет тестовый код, по крайней мере, времена MinSamples
, независимо от того, достигает ли эксперимент статистических целей.
MaxSamples
Максимальное количество выборокМаксимальное количество демонстрационных измерений, заданных как положительное целое число. Значение задает максимальное количество времен, что среда тестирования осуществляет тестовый код после NumWarmups
. Если эксперимент не достигает статистических целей, среда тестирования собирается до MaxSamples
.
RelativeMarginOfError
Объективный относительный предел погрешности для выборокОбъективный относительный предел погрешности для выборок, заданных как положительное число.
Среда тестирования вычисляет относительный предел погрешности для демонстрационного X
с помощью уравнения
где T
является T-счет от распределения Студента T с помощью заданного ConfidenceLevel
и степеней свободы length(X)-1
.
'ConfidenceLevel'
— Доверительный уровень для выборок, чтобы быть в относительном пределе погрешностиДоверительный уровень для выборок, чтобы быть в относительном пределе погрешности, заданном как номер от 0 до 1.
В вашей текущей рабочей папке создайте основанный на классах тест, 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
Создайте тестовый набор.
suite = testsuite('preallocationTest');
Создайте эксперимент времени с переменным количеством демонстрационных измерений и запустите тесты.
import matlab.perftest.TimeExperiment
experiment = TimeExperiment.limitingSamplingError;
result = run(experiment,suite);
Running preallocationTest .......... .......... .......... .......... .......... .......... ......... Done preallocationTest __________
Просмотрите тестовое действие для первого теста. Ваши результаты могут отличаться.
result(1).TestActivity
ans = Name Passed Failed Incomplete MeasuredTime Objective Timestamp Host Platform Version TestResult RunIdentifier __________________________ ______ ______ __________ ____________ _________ ____________________ ___________ ________ _____________________ ________________________________ ____________________________________ preallocationTest/testOnes true false false 0.049027 warmup 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.043951 warmup 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.053917 warmup 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.031983 warmup 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.025259 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.031734 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.025073 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024593 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024708 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024768 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024791 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024675 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024579 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024599 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767 preallocationTest/testOnes true false false 0.024858 sample 29-Dec-2015 12:43:11 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 59d5c772-b55d-4b0c-bb5e-3d938bd88767
Для этого теста среда тестирования производительности собрала 4 измерения прогрева (значение по умолчанию) и 11 демонстрационных измерений. После 11 демонстрационных измерений среда тестирования производительности удовлетворила статистические цели по умолчанию.
Создайте эксперимент времени, который собирает два измерения прогрева и запускает тесты переменное число раз, чтобы достигнуть демонстрационного среднего значения с 10%-м относительным пределом погрешности на 90%-м доверительном уровне.
experiment = TimeExperiment.limitingSamplingError('NumWarmups',2,... 'RelativeMarginOfError',0.10, 'ConfidenceLevel', 0.90); result = run(experiment, suite);
Running preallocationTest .......... .......... .......... ... Done preallocationTest __________
Просмотрите тестовое действие для первого теста. Ваши результаты могут отличаться.
result(1).TestActivity
ans = Name Passed Failed Incomplete MeasuredTime Objective Timestamp Host Platform Version TestResult RunIdentifier __________________________ ______ ______ __________ ____________ _________ ____________________ ___________ ________ _____________________ ________________________________ ____________________________________ preallocationTest/testOnes true false false 0.02477 warmup 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.046385 warmup 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.040836 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.025888 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.02498 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.02476 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.024958 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.029113 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.024762 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.025303 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73 preallocationTest/testOnes true false false 0.025702 sample 29-Dec-2015 12:56:46 MY-HOSTNAME win64 9.0.0.320924 (R2016a) [1x1 matlab.unittest.TestResult] 8acd19f5-6757-4b82-98d4-ada1c04ebe73
Для этого теста среда тестирования производительности собрала два измерения прогрева и девять демонстрационных измерений. После девяти демонстрационных измерений среда тестирования производительности удовлетворила заданные статистические цели.
matlab.perftest. FrequentistTimeExperiment
| matlab.perftest. TimeExperiment.withFixedSampleSize
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.