Count results of for-if/else-statements and write it in matrix

4 views (last 30 days)
Hello!
I want to store in my code the results of the for loop (line 140-166), how often which statement("<a", ">=a & <b", ....) was used, in a matrix. I have tried to record this numerically (1-4) for the value "Liste2". But now I have the problem that I don't know how to do this for all 722 iterations of the big for loop, so that at the end I get one column of a matrix for each of the 722 iterations. Also, unfortunately, the lengths of the arrays vary.
Thanks for the help!

Answers (1)

VINAYAK LUHA
VINAYAK LUHA on 13 Oct 2023
Hi Markus,
I understand that you have a loop in your code that contains multiple "if-else if...else" conditional statements. Your objective is to keep a log of which conditional statement is triggered in each iteration of the loop.
Here is a solution to achieve the above use case using a 2D matrix as a data structure to log information:
  1. Create a 2D zeros matrix of size (m,n), where “m” and “n” corresponds to the number of loop iterations and number of conditional statements inside the loop respectively.
  2. Since the conditional statements are mutually exclusive, in any iteration there is only one condition which evaluates to “true. Acknowledge this event by marking “1” in the data structure.
  3. For any iteration “n”:
  • Store the count forcondition 1” my marking 1 in the nth row and 1st column.
  • Store the count for condition 2” my marking 1 in the nth row and 2nd column and so on...
As a suggestion, if you are memory constrained, you may optimize the approach using bit manipulation techniques to store the log in a 1D array of size (m,1) instead of 2D matrix of size (m,n).
I hope you find the provided solution useful, and this helps you keep a log of which conditional statement is triggered in each iteration of the loop.
Regards,
Vinayak Luha

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!