Clear Filters
Clear Filters

How to import KNN-model structure from matlab into simulink

5 views (last 30 days)
All,
The problem I am facing is a move of KNN-model data structure from matlab to simulink in a loop:
In matlab TrainingData is used as input to create an KNN based-model. In simulink, at some point, I want to use this model to predict the outcome of a certain decision based on certain parameters that evolve during simulation. If the simulation ends, the outcome of the decsion is used in matlab to adjust the TrainingData and to update the KNN-model. The updated KNN-model will be used for the next simutlation.
Note that before the loop starts, the feature table exists.
Note that in matlab, the knn-model data is the outcome of the command: knnmodel = fitcknn(TrainingData, 'feature'). So i need to import this knnmodel structure into simulink.
My problem is that I do not see how to successfully import such KNN-model into the simulink model for decision making (prediction).
Is there any method to get this done?

Answers (2)

Aneela
Aneela on 26 Jul 2024
  1 Comment
frank wetzels
frank wetzels on 31 Jul 2024
Thanks for your response.
Is there an alternative by, for example, reading the model from the global workspace since I want to use the simulink model in a loop? The reason for having the loop is to be able to do all kinds of administrative stuff in matlab itself before and after running the model.
Regards,
Frank

Sign in to comment.


Aneela
Aneela on 18 Aug 2024 at 12:38
Global workspace can be used facilitate the use of a Simulink model in a loop. Here is the possible workaround:
  1. Ensure that KNN model is trained and stored in the global workspace.
  2. Set up the simulink model as described in the documentation: https://www.mathworks.com/help/stats/predict-class-labels-using-classification-knn-predict-block.html#:~:text=testAccuracy%20%3D%200.9333-,Create%20Simulink%20Model,-Create%20a%20new
  3. Create a structure array for the input data.
  4. Configure the Simulink Model for input using Configuration Parameters dialog box.
  5. Create a MATLAB script that automates running the Simulink model in loop.
  6. Use the results from each iteration to adjust the model.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!