Dot indexing Error Running Script on Matlab Production Server

2 visualizaciones (últimos 30 días)
Marc McLean
Marc McLean el 22 de Jun. de 2020
Comentada: Kojiro Saito el 29 de Jun. de 2020
Hello,
I load a .mat file from a script running on Matlab Production Server. The file contains a struct.
Running on my desktop, I can access values in the structure like this:
histo_test = dataset_loaded(3).volfeats_EWM_histo.Values(2:10);
But on Matlab Production Server, that line of code produces this error:
'Dot indexing is not supported for variables of this type.'
I know the the structure loads correcly because the length of the structure is correct.
How can I access the parameters of a structure from a script running on Matlab Production Server?

Respuestas (1)

Kojiro Saito
Kojiro Saito el 26 de Jun. de 2020
After reading this question, I think this issue might be because you're loading a mat file with an output argument.
dataset_load = load('dataset_scaled_fixedBins.mat');
So, you can access the original structure data by accessing dataset_load.dataset_load.
dataset_loaded = dataset_load.dataset_load;
histo_test = dataset_loaded(3).volfeats_EWM_histo.Values(2:10);
  2 comentarios
Marc McLean
Marc McLean el 26 de Jun. de 2020
Hello Kojiro,
This is my code to load:
dataset_load = load('dataset_scaled_fixedBins.mat');
dataset_loaded = dataset_load.dataset;
dataset_length = size(dataset_loaded);
disp_histo = dataset_loaded(3).volfeats_EWM_histo;
This works fine on my desktop but the last line produces a dot indexing error when compiled and run on Matlab Production Server. However, the third line, dataset_length is the correct length on Matlab Production Server so I believe the dataset is loaded but why does the last line error on Matlab production server but run fine on my desktop?
Kojiro Saito
Kojiro Saito el 29 de Jun. de 2020
Are there any data type difference in MATLAB desktop and MATLAB Production Server?
You can find data types by whos command
dataset_load = load('dataset_scaled_fixedBins.mat');
dataset_loaded = dataset_load.dataset;
dataset_length = size(dataset_loaded);
whos dataset_loaded
And you can find whos results in main.log of Production Server.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by