Compare arrays in Simulink

13 次查看(过去 30 天)
Dhruv
Dhruv 2013-8-14
I have two arrays which I would like to compare with each other.
eg. A = [4.1,5.2,7.1] B = [1,2,3,4,5,6,7,8]
I want to be able to say that the following match 4.1->4, 5.2->5, 7.1->7 and then show it in a different array like C = [0,0,0,1,1,1,0]
I have been trying to use For loops but havent managed to solve it as yet. Any suggestions would be useful
*edit
I cannot use a Matlab function block as I need to use it with TargetLink later.
Thanks, Dhruv
  5 个评论
Friedrich
Friedrich 2013-8-14
编辑:Friedrich 2013-8-14
I guess thats the range. Values between 0 and 2.3 are mapped to 1 and so. However its not clear what hapens with values equal to 2.3. Are those values mapped to 1 or 2?
Dhruv
Dhruv 2013-8-14
I have edited my comment to remove the confusion

请先登录,再进行评论。

回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-8-14
A = [4.1,5.2,7.1];
B = [1,2,3,45,6,7,8];
out=zeros(size(B));
out(fix(A))=1
  10 个评论
Friedrich
Friedrich 2013-8-14
Is a Look-Up-Table supported? If so, this would be what you need together with a For Itterator Subystem.
Dhruv
Dhruv 2013-8-19
I have the possibility of using a Matlab embedded block inside a Stateflow chart.. though I have never used Stateflow.. could you think of it as a possibility to be used in such a case?

请先登录,再进行评论。


Chetan Aswathanarayana

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by