Загрузка параметров из компонента Simscape
[ возвращает массивы ячеек, содержащие имена, значения и единицы измерения всех параметров из компонента Simscape™ с именем names,values,units] = symReadSSCParameters(componentName)componentName.
Загрузите имена, значения и единицы измерения параметров компонента Simscape.
Предположим, что у вас есть компонент Simscape friction.ssc в текущей папке.
type('friction.ssc');component friction < foundation.mechanical.rotational.branch
parameters
brkwy_trq = { 25, 'N*m' }; % Breakaway friction torque
Col_trq = { 20, 'N*m' }; % Coulomb friction torque
visc_coef = { 0.001, 'N*m*s/rad' }; % Viscous friction coefficient
trans_coef = { 10, 's/rad' }; % Transition approximation coefficient
vel_thr = { 1e-4, 'rad/s' }; % Linear region velocity threshold
end
parameters (Access=private)
brkwy_trq_th = { 24.995, 'N*m' }; % Breakaway torque at threshold velocity
end
function setup
% Parameter range checking
if brkwy_trq <= 0
pm_error('simscape:GreaterThanZero','Breakaway friction torque' )
end
if Col_trq <= 0
pm_error('simscape:GreaterThanZero','Coulomb friction torque' )
end
if Col_trq > brkwy_trq
pm_error('simscape:LessThanOrEqual','Coulomb friction torque',...
'Breakaway friction torque')
end
if visc_coef < 0
pm_error('simscape:GreaterThanOrEqualToZero','Viscous friction coefficient')
end
if trans_coef <= 0
pm_error('simscape:GreaterThanZero','Transition approximation coefficient')
end
if vel_thr <= 0
pm_error('simscape:GreaterThanZero','Linear region velocity threshold')
end
% Computing breakaway torque at threshold velocity
brkwy_trq_th = visc_coef * vel_thr + Col_trq + (brkwy_trq - Col_trq) * ...
exp(-trans_coef * vel_thr);
end
equations
if (abs(w) <= vel_thr)
% Linear region
t == brkwy_trq_th * w / vel_thr;
elseif w > 0
t == visc_coef * w + Col_trq + ...
(brkwy_trq - Col_trq) * exp(-trans_coef * w);
else
t == visc_coef * w - Col_trq - ...
(brkwy_trq - Col_trq) * exp(-trans_coef * abs(w));
end
end
endЗагрузка имен, значений и единиц измерения параметров компонента friction.ssc.
[names,values,units] = symReadSSCParameters('friction.ssc');В этом примере все элементы результирующих массивов ячеек являются скалярами. Массивы ячеек можно преобразовать в символьные векторы.
names_sym = cell2sym(names)
names_sym = [ Col_trq, brkwy_trq, brkwy_trq_th, trans_coef, vel_thr, visc_coef]
values_sym = cell2sym(values)
values_sym = [ 20, 25, 4999/200, 10, 1/10000, 1/1000]
Создание отдельных символьных переменных из элементов массива ячеек names в рабочей области MATLAB ®. Эта команда создает символьные переменныеCol_trq, brkwy_trq, brkwy_trq_th, trans_coef, vel_thr, и visc_coef как sym объектов в рабочей области.
syms(names)
componentName - имя компонента SimscapeИмя компонента Simscape, указанное как имя файла, заключенное в одинарные кавычки. Файл должен иметь расширение .ssc. Если расширение файла не указано, symReadSSCParameters предполагает, что это будет .ssc. Компонент должен находиться в пути MATLAB или в текущей папке.
Пример: 'MyComponent.ssc'
names - Имена всех параметров компонента SimscapeИмена всех параметров компонента Simscape, возвращаемых в виде массива ячеек.
Типы данных: cell
values - Значения всех параметров компонента SimscapeЗначения всех параметров компонента Simscape, возвращаемые в виде массива ячеек.
Типы данных: cell
units - Единицы измерения всех параметров компонента SimscapeЕдиницы измерения всех параметров компонента Simscape, возвращаемые в виде массива ячеек.
Типы данных: cell
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.