Тепловые единицы часто требуют аффинного преобразования, то есть преобразования, которое выполняет как умножение, так и сложение. Для преобразования из старого значения в новое значение Tnew нам нужны коэффициент линейного преобразования L и смещение O:
Tnew = L * Указано + O
Например, для преобразования значения температуры из градуса Цельсия в градусы по Фаренгейту линейный член равен 9/5, а смещение равно 32:
TFahr = 9/5 * TCels + 32
Simscape™ менеджер блока определяет кельвинK) в качестве основной единицы измерения температуры. Это делает Цельсия (degC) и Фаренгейт (degF) аффинные единицы, потому что они оба связаны с кельвином с аффинным превращением. Рэ ́ нкин (degR) определяется в терминах кельвина с нулевым линейным смещением и, следовательно, не является аффинной единицей.
Ниже приведены определения реестра единиц измерения Simscape по умолчанию для единиц измерения температуры.
pm_adddimension('temperature', 'K'); % defines kelvin as fundamental temperature unit
pm_addunit('degC', [1 273.15], 'K'); % defines Celsius in terms of kelvin
pm_addunit('degF', [5/9 -32*5/9], 'degC'); % defines Fahrenheit in terms of Celsius
pm_addunit('degR', [5/9 0], 'K'); % defines rankine in terms of kelvin
При работе с аффинными единицами иногда нужно преобразовать их, используя только линейный член. Обычно это происходит, когда преобразуемое значение представляет относительную, а не абсолютную температуру ΔT = T1 - T2.
ΔTan = L * ΔTold
В этом случае добавление аффинного смещения приведет к неправильным результатам преобразования.
Например, наружная температура поднялась на 18 градусов по Фаренгейту, и вам нужно ввести это значение в модель. При преобразовании этого значения в кельвин используйте линейное преобразование
ΔTкельвин = 5/9 * ΔTFahr
и вы получаете 10 K, то есть температура снаружи изменилась на 10 кельвинов. Если вы примените аффинное преобразование, вы получите изменение температуры приблизительно 265 кельвинов, что неверно.
Это еще лучше показано, если использовать градусы Цельсия для входных единиц, потому что линейный член для преобразования между Цельсием и кельвином равен 1:
Если наружная температура изменилась на 10 градусов Цельсия (относительное значение температуры), то она изменилась на 10 кельвинов (аффинное преобразование не применяется).
Если наружная температура равна 10 градусам Цельсия (абсолютное значение температуры), то она равна 283 кельвинам (применить аффинное преобразование).
Для относительных температур можно также использовать относительные единицы измерения температуры: deltaK, deltadegC, deltadegF, deltadegR. Эти единицы совместимы с базой данных единиц Simulink ® (см. раздел Единицы в Simulink). При использовании этих единиц аффинное преобразование не применяется.