Load array from .mat file in Matlab System

I am curently coding a Matlab System for use in Simulink. I want to load two large arrays from a .mat file to be used in the Matlab System. Because of that, I figured I could load the data like this in the resetImpl function.
function resetImpl(obj)
% ...
obj.arrays = load('arrays.mat');
% ...
end
However, this results in the error:
Function 'load' can only be used as the right-hand side of a simple assignment to a struct or array variable without subscripting.
How can I load a .mat file in a Matlab System?

2 commentaires

Walter Roberson
Walter Roberson le 1 Août 2022
Modifié(e) : Walter Roberson le 1 Août 2022
load() storing into a simple variable . Extract fields from the struct and store into obj.
Note that this requires that you be using System Objects https://www.mathworks.com/help/simulink/slref/matlabsystem.html
Thank you @Walter Roberson! It did the trick. If anyone finds this later, this was the solution:
function resetImpl(obj)
% ...
arrays = load('arrays.mat');
obj.array1 = arrays.array1;
obj.array2 = arrays.array2;
% ...
end

Connectez-vous pour commenter.

Réponses (1)

Abderrahim. B
Abderrahim. B le 1 Août 2022

0 votes

Hi!
I believe you are building a model in Simulink! If this is the case, you don't need to write a function for loading data:
Other blocks to import data to simulin can be foudn here .
hope this helps

1 commentaire

Walter Roberson
Walter Roberson le 1 Août 2022
From File is restricted to creating signal objects . If you needed to do something such as load a covariance matrix for matrix multiplication then From File would not be suitable .

Connectez-vous pour commenter.

Catégories

Produits

Version

R2021b

Commenté :

le 1 Août 2022

Community Treasure Hunt

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

Start Hunting!

Translated by