MATLAB Answers

Dot indexing Error Running Script on Matlab Production Server

3 ビュー (過去 30 日間)
Marc McLean
Marc McLean 2020 年 6 月 22 日
コメント済み: Kojiro Saito 2020 年 6 月 29 日
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?

  0 件のコメント

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

回答 (1 件)

Kojiro Saito
Kojiro Saito 2020 年 6 月 26 日
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 件のコメント

Marc McLean
Marc McLean 2020 年 6 月 26 日
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 2020 年 6 月 29 日
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.

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

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by