Класс: matlab.perftest.
Пакет: matlab.perftest
Создайте эксперимент времени для заданного предела погрешности и доверительного уровня
experiment = matlab.perftest.TimeExperiment.limitingSamplingError
experiment = matlab.perftest.TimeExperiment.limitingSamplingError(Name,Value)
experiment = matlab.perftest.TimeExperiment.limitingSamplingError
создает эксперимент времени для каждого элемента тестового набора, с заданными статистическими целями (такими как предел погрешности и доверительный уровень). Этот метод возвращает экземпляр FrequentistTimeExperiment
. Этот синтаксис использует следующие значения по умолчанию, чтобы определить количество демонстрационных измерений.
Количество измерений прогрева: 4
Минимальное количество выборок: 4
Максимальному количеству выборок, собранных в конечном счете другие статистические цели, не соответствуют: 256
Объективный относительный предел погрешности для выборок: 0.05 (5%)
Доверительный уровень для выборок, чтобы быть в относительном пределе погрешности: 0.95 (95%)
experiment = matlab.perftest.TimeExperiment.limitingSamplingError(
создает эксперимент времени с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value
)Name,Value
. Используйте этот синтаксис, чтобы заменить упомянутые выше значения по умолчанию.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
experiment = 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 = 8×12 table Name Passed Failed Incomplete MeasuredTime Objective Timestamp Host Platform Version TestResult RunIdentifier __________________________ ______ ______ __________ ____________ _________ ____________________ ___________ ________ _____________________ ________________________________ ____________________________________ preallocationTest/testOnes true false false 0.056052 warmup 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.056227 warmup 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.055969 warmup 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.054961 warmup 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.052572 sample 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.051743 sample 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.051709 sample 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12 preallocationTest/testOnes true false false 0.051256 sample 05-Oct-2018 10:14:15 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 34fa8e1d-e21f-42b5-83bd-fd104ffcec12
Для этого теста среда тестирования производительности собрала 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 = 6×12 table Name Passed Failed Incomplete MeasuredTime Objective Timestamp Host Platform Version TestResult RunIdentifier __________________________ ______ ______ __________ ____________ _________ ____________________ ___________ ________ _____________________ ________________________________ ____________________________________ preallocationTest/testOnes true false false 0.053963 warmup 05-Oct-2018 10:21:31 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1 preallocationTest/testOnes true false false 0.053086 warmup 05-Oct-2018 10:21:31 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1 preallocationTest/testOnes true false false 0.052502 sample 05-Oct-2018 10:21:31 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1 preallocationTest/testOnes true false false 0.05252 sample 05-Oct-2018 10:21:31 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1 preallocationTest/testOnes true false false 0.052048 sample 05-Oct-2018 10:21:32 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1 preallocationTest/testOnes true false false 0.052434 sample 05-Oct-2018 10:21:32 MY-HOSTNAME win64 9.6.0.966561 (R2019a) [1x1 matlab.unittest.TestResult] 22e4507c-e12c-4cac-8730-aff65e75a2e1
Для этого теста среда тестирования производительности собрала два измерения прогрева и девять демонстрационных измерений. После девяти демонстрационных измерений среда тестирования производительности удовлетворила заданные статистические цели.
matlab.perftest.FrequentistTimeExperiment
| matlab.perftest.TimeExperiment.withFixedSampleSize
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.