Загрузите переменные из компонента Simscape
[
возвращает массивы ячеек, содержащие имена, значения и модули всех переменных из компонента Simscape™ под названием names
,values
,units
]
= symReadSSCVariables(componentName
)componentName
.
[
возвращает имена как символьные функции переменной names
,values
,units
]
= symReadSSCVariables(componentName
,'ReturnFunctions',true)t
.
Загрузите имена, значения и модули переменных компонента 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] = symReadSSCVariables('friction.ssc');
В этом примере всеми элементами получившихся массивов ячеек являются скаляры. Можно преобразовать массивы ячеек в символьные векторы.
names_sym = cell2sym(names)
names_sym = [ t, w]
values_sym = cell2sym(values)
values_sym = [ 0, 0]
Создайте отдельные символьные переменные из элементов массива ячеек names
в рабочей области MATLAB®. Эта команда создает символьные переменные t
и w
как sym
объекты в рабочей области.
syms(names)
Загрузите имена переменных компонента Simscape при преобразовании их в символьные функции переменной t
.
Предположим, что у вас есть компонент Simscape source.ssc
в вашей текущей папке.
type('source.ssc');
component source % Electrical Source % Defines an electrical source with positive and negative external nodes. % Also defines associated through and across variables. nodes p = foundation.electrical.electrical; % :top n = foundation.electrical.electrical; % :bottom end variables(Access=protected) i = { 0, 'A' }; % Current v = { 0, 'V' }; % Voltage end branches i : p.i -> n.i; end equations v == p.v - n.v; end end
Загрузите имена переменных source.ssc
компонента установкой
'ReturnFunctions'
к true
.
[names,~,~] = symReadSSCVariables('source.ssc','ReturnFunctions',true);
В этом примере всеми элементами получившихся массивов ячеек являются скаляры. Можно преобразовать массивы ячеек в символьные векторы.
names_symfun = cell2sym(names)
names_symfun = [ i(t), v(t)]
Создайте отдельные символьные функции из элементов массива ячеек names
в рабочем пространстве MATLAB. Эта команда создает символьные функции i
и v
как symfun
объекты и их переменная t
как sym
объект в рабочей области.
syms(names)
componentName
— Имя компонента SimscapeИмя компонента Simscape в виде имени файла заключено в одинарные кавычки. Файл должен иметь дополнительный .ssc
. Если вы не обеспечиваете расширение файла, symReadSSCVariables
принимает его, чтобы быть .ssc
. Компонент должен быть на пути MATLAB или в текущей папке.
Пример: 'MyComponent.ssc'
names
— Имена всех переменных компонента SimscapeИмена всех переменных компонента Simscape, возвращенного как массив ячеек.
Типы данных: cell
values
— Значения всех переменных компонента SimscapeЗначения всех переменных компонента Simscape, возвращенного как массив ячеек.
Типы данных: cell
units
— Модули всех переменных компонента SimscapeМодули всех переменных компонента Simscape, возвращенного как массив ячеек.
Типы данных: cell
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.