Arrays have incompatible sizes for this operation

Hey guys, thanks in advance.
Im trying to apply this equation on matlab
However i Keep getting this error , arrays have incompatible sizes for this operation, I dont understand since there are only constants and when there is a vector I do this .*
This is the code:
D is not getting any error, only H_BAC.
I ve attached the data
n=1;
u=2;
Lp=1;
fc=30e6;
c=3e8;
Vr=250;
D=sqrt(1-((u.^2*doppler_freqSurv.^2*c.^2)/4*Vr.^2*fc.^2));
H_BAC=exp(1*j*2*pi*((R1_matrix-Rm_matrix+n*Lp)/c*fc .*D));

Answers (1)

R1_matrix and Rm_matrix are 1x400:
load R1_matrix
load Rm_matrix
whos R*
Name Size Bytes Class Attributes R1_matrix 1x400 3200 double Rm_matrix 1x400 3200 double
Therefore, the expression involving subtracting Rm_matrix from R1_matrix gives a 1x400 vector (here stored as the variable temp):
n=1;
u=2;
Lp=1;
fc=30e6;
c=3e8;
Vr=250;
temp = (R1_matrix-Rm_matrix+n*Lp)/c*fc;
whos temp
Name Size Bytes Class Attributes temp 1x400 3200 double
The result of that expression should be multiplied element-wise by D, but D is 1x8000:
load D
whos D
Name Size Bytes Class Attributes D 1x8000 128000 double complex
So you can't do it:
H_BAC=exp(1*j*2*pi*(temp.*D));
Arrays have incompatible sizes for this operation.
Hard to say what the right thing to do is with the information given.

8 Comments

If i put zeros in R1 and Rm in order to fill to 1 x 8000?
Then you will be able to do that operation.
Is there fast way to do that?
R1_matrix=[zeros(1,size(D,1)-size(R1_matrix,1)) R1_matrix] %padding ahead
that is giving me a R1 of 1x 400 , it doesnt change anything
That was to be done after defining D.
Change D to doppler_freqSurv and try again
n=1;
u=2;
D=sqrt(1-((u.^2*doppler_freqSurv.^2*c.^2)/4*Vr.^2*fc.^2));
R1_matrix=[zeros(1,size(doppler_freqSurv,1)-size(R1_matrix,1)) R1_matrix] %padding ahead
This is not changing anything in R1
Here it is the best way, thanks anyways
R1_matrix(numel(D))=0;

Sign in to comment.

Products

Release

R2021b

Tags

Asked:

on 12 Jul 2022

Community Treasure Hunt

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

Start Hunting!