How to assign array values to at once using deal?

조회 수: 15(최근 30일)
Abdolkarim Mohammadi
Abdolkarim Mohammadi 2020년 9월 13일
편집: Matt J 2020년 9월 13일
I know that it is possible to assign the values of an array to using deal(). Is it possible to do such thing for I am specifically working with SimulationInput objects, where the variables property of this object is itself an object and has a property named value, and I want to do something like the following:
SimIn = repmat (Simulink.SimulationInput, [NumRows, NumCols]);
[SimIn] = SimIn.setVariable ('VariableName', 0);
SimIn.Variables.Value = Data(:);
[SimIn(:).Variables.Value] = deal (Data(:));

채택된 답변

Matt J
Matt J 2020년 9월 13일
편집: Matt J 2020년 9월 13일
No, you would have to do it in 2 steps,
[Variables.Value] = deal (Data(:));
[SimIn(:).Variables] = deal (Variables);
  댓글 수: 1
Matt J
Matt J 2020년 9월 13일
If you find you need to do this frequently, however, it probably means your choice of data organization is sub-optimal for your problem. You should probably have array-valued properties, rather than an array of objects.

댓글을 달려면 로그인하십시오.

추가 답변(0개)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by