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 件のコメント

Walter Roberson
Walter Roberson 2022 年 8 月 1 日
編集済み: Walter Roberson 2022 年 8 月 1 日
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
Jan Letmade
Jan Letmade 2022 年 8 月 1 日
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

サインインしてコメントする。

回答 (1 件)

Abderrahim. B
Abderrahim. B 2022 年 8 月 1 日

0 投票

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 件のコメント

Walter Roberson
Walter Roberson 2022 年 8 月 1 日
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 .

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeProgrammatic Model Editing についてさらに検索

製品

リリース

R2021b

質問済み:

2022 年 8 月 1 日

コメント済み:

2022 年 8 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by