MATLAB Answers

0

Dot indexing not supprted for variables of this type.

Asked by prateek bhadauria on 31 Jul 2019
Latest activity Commented on by prateek bhadauria on 3 Aug 2019
i am facing issue while i am running my code
for l=1:1:param_num_paths
gamma_x=1j*kd*sin(params.DoD_theta(l)*ang_conv)*cos(params.DoD_phi(l)*ang_conv); % showed error in this line
gamma_y=1j*kd*sin(params.DoD_theta(l)*ang_conv)*sin(params.DoD_phi(l)*ang_conv);
gamma_z=1j*kd*cos(params.DoD_theta(l)*ang_conv);
gamma_comb=Mxx_Ind*gamma_x+Myy_Ind*gamma_y + Mzz_Ind*gamma_z;
array_response=exp(gamma_comb);
delay_normalized=params.ToA(l)/Ts;
channel=channel+array_response*sqrt(params.power(l)/ofdm_num_subcarriers)*exp(1j*params.phase(l)*ang_conv)*exp(-1j*2*pi*(k/ofdm_num_subcarriers)*delay_normalized);
end
i already defined the respective values which is used in this code , but when i am running it gives an error " Dot indexing is not supported for variables of this type".

  3 Comments

What is
class(params)
size(params)
Also, put before that code this code:
whos params
params
and tell us what you see in the command window.
Actually it is program where a function is defined by various parameters
function [channel]= here all the parameters are defined which i mentioned below
params=[3,4,5,6];
num_ant_x=1;
num_ant_y=32;
num_ant_z=8;
BW=0.5;
param_num_paths=25;
ofdm_num_subcarriers=1024;
output_subcarrier_downsampling_factor=1;
output_subcarrier_limit=64;
antenna_spacing_wavelength_ratio=0.5;
kd=2*pi*antenna_spacing_wavelength_ratio;
ang_conv=pi/180;
Ts=1/BW;
Mx_Ind=0:1:num_ant_x-1;
My_Ind=0:1:num_ant_y-1;
Mz_Ind=0:1:num_ant_z-1;
Mxx_Ind=repmat(Mx_Ind,1,num_ant_y*num_ant_z)';
Myy_Ind=repmat(reshape(repmat(My_Ind,num_ant_x,1),1,num_ant_x*num_ant_y),1,num_ant_z)';
Mzz_Ind=reshape(repmat(Mz_Ind,num_ant_x*num_ant_y,1),1,num_ant_x*num_ant_y*num_ant_z)';
M=num_ant_x*num_ant_y*num_ant_z;
k=0:output_subcarrier_downsampling_factor:output_subcarrier_limit-1;
num_sampled_subcarriers=length(k);
channel=zeros(M,num_sampled_subcarriers);
and after these commands the for loop section was written which i was posted as my query.
Snapshot of command window - it gives the error "dot indexing is not supported for variables of this type".

Sign in to comment.

1 Answer

Answer by Bob Nbob
on 31 Jul 2019
 Accepted Answer

You're getting the error because you're calling params like a structure, 'params.DoD_phi(1),' but you previously defined params as a simple double matrix.

  3 Comments

This problem is resolved now ,i have run this code on high end configuration PC rather than my laptop and it's working now ,Thanks for the suggestion .
The problem had nothing to do with which computer you're running it on.
As Bob correctly pointed out, if you create params like this:
params=[3,4,5,6];
then
params.DoD_phi(1)
is always going to be an error, on any computer, in any version of matlab.

Sign in to comment.