how to fix this error "Dot indexing is not supported for variables of this type"

31 views (last 30 days)
nuser = kernel_param.nuser;
nmovie = kernel_param.nmovie;
ndata = kernel_param.ndata;
this is my code and when i run this code, i get the following error,
""Dot indexing is not supported for variables of this type""
what does this error mean, and how to solve it, please

Answers (1)

Voss
Voss on 24 May 2022
Edited: Voss on 24 May 2022
It means kernel_param is not a struct.
Here kernel_param is a struct, so it works fine:
kernel_param = struct('nuser',0,'nmovie',99)
kernel_param = struct with fields:
nuser: 0 nmovie: 99
nuser = kernel_param.nuser
nuser = 0
nmovie = kernel_param.nmovie
nmovie = 99
And here kernel_param is not a struct, so you get that error:
kernel_param = [1 2 3]
kernel_param = 1×3
1 2 3
nuser = kernel_param.nuser
Dot indexing is not supported for variables of this type.
How to solve it? Check where kernel_param comes from, and figure out why it's not a struct when it should be, or figure out why your code expects it to be a struct when it's not.
  2 Comments
Waseem Abbas
Waseem Abbas on 24 May 2022
thanks for the answer, i have another file in which these kernel are struct, so i have to run that file before runing this file?
am i right?

Sign in to comment.

Categories

Find more on Variables in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!