Custom Data Type in arrays
조회 수: 5 (최근 30일)
이전 댓글 표시
Hi,
I have defined a Custom Data Type like this:
%tDistanceFloat32
tDistanceFloat32 = Simulink.AliasType;
tDistanceFloat32.BaseType = 'single';
tDistanceFloat32.Description = '[m]';
And a parameter like this:
% NumberOfBalises:
NumberOfBalises = Simulink.Parameter;
NumberOfBalises.DataType = 'int32';
NumberOfBalises.Value = 9;
NumberOfBalises.Description = 'Numero de balizas que hay en el trayecto';
Now, I want to define a vector named 'BalisesPosition' that has 9 elements of type 'tDistanceFloat32', so I have written this:
BalisesPosition = zeros (1,NumberOfBalises.Value);
Till now, this works fine, but the problem comes now. I want to set the values of the vector, wich, as I said before, have to be of type 'tDistanceFloat32', so I type this:
BalisesPosition(1,1) = tDistanceFloat32(0.0);
BalisesPosition(1,2) = tDistanceFloat32(1500.0);
BalisesPosition(1,3) = tDistanceFloat32(2000.0);
...
This gives the following error: '??? Subscript indices must either be real positive integers or logicals.' And if I type the following:
BalisesPosition(1,1) = tDistanceFloat32.BaseType(0.0);
BalisesPosition(1,2) = tDistanceFloat32.BaseType(1500.0);
BalisesPosition(1,3) = tDistanceFloat32.BaseType(2000.0);
...
It gives this error: '??? Index exceeds matrix dimensions.'
Does anybody know where the problem can be? if I type this:
BalisesPosition(1,1) = single(0.0);
BalisesPosition(1,2) = single(1500.0);
BalisesPosition(1,3) = single(2000.0);
...
it works, but I don´t want that, I want to use the tDistanceFloat32' type.
Can anybody help me?
댓글 수: 0
채택된 답변
Fangjun Jiang
2011년 5월 24일
Is BalisesPosition a signal or parameter?
If it is a parameter,
BalisesPosition=Simulink.Parameter;
BalisesPosition.Value=zeros(1, NumberOfBalises.Value);
BalisesPosition.DataType='tDistanceFloat32';
If it is a signal,
BalisesPosition=Simulink.Signal;
BalisesPosition.InitialValue=num2str(zeros(1, NumberOfBalises.Value));
BalisesPosition.DataType='tDistanceFloat32';
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!