"Argument to dynamic structure reference must evaluate to a valid field name" error please code also been attached????? and also i cannot execute it.

clc;
close all;
%%giving the inputs for calculating the Specular Reflections
thetaInDegrees1 = linspace(44,46,100);
thetaInDegrees2 = 45;
thetaInDegrees3 = 0;
g = 0;
Lcorr = 2.3;
x = 25 * Lcorr;
y = 25 * Lcorr;
f = 300e9;
%% Formula For finding Specular Reflections
Lx = 10*Lcorr;
Ly = 10*Lcorr;
c = physconst('lightspeed');
lambda = c/f;
K = 2*pi/lambda;
Vx = K*(sin(thetaInDegrees1)-sin(thetaInDegrees2)*cos(thetaInDegrees3));
Vy = K*(-sin(thetaInDegrees2)*cos(thetaInDegrees3));
rho= sinc(Vx*Lx) * sinc(Vy*Ly);
rhorho = exp(-g) * ((rho).^2);
%printing in degrees
plot(thetaInDegrees1,rhorho);
hold on
plot(thetaInDegrees1,rhorho);
hold on
plot(thetaInDegrees1,rhorho);
hold on
plot(thetaInDegrees1,rhorho);
hold on
axis equal
xlabel('\theta');
ylabel('<\rho\rho^*>_s_p_e_c_ _o_n_l_y_ [dB]')

4 Commenti

What do you want to plot? This line (and the following ones) are not correct:
plot(thetaInDegrees1,x1,rhorho);
You can plot
plot(thetaInDegrees1,rhorho); %thetaInDegrees1 and rhorho are of the same size
x1 is a scalar, what do you want to do with x1?
this is the result which i am expecting from the graph but i am not getting the results...please help me out...
x=y=[25,50,100,200] * Lcorr
What are the equations are you using? How is the relationship between x and rhorho (in your code rhorho doesn't depend on x)?

Accedi per commentare.

 Risposta accettata

You need to change those lines
Vx = K.(sin(thetaInDegrees1)-sin(thetaInDegrees2)*cos(thetaInDegrees3));
Vy = K.(-sin(thetaInDegrees2)*cos(thetaInDegrees3));
by
Vx = K*(sin(thetaInDegrees1)-sin(thetaInDegrees2)*cos(thetaInDegrees3));
Vy = K*(-sin(thetaInDegrees2)*cos(thetaInDegrees3));

2 Commenti

Error using plot
Data must be a single matrix Y or a list of pairs X,Y.
plot(thetaInDegrees1,x1,rhorho);
can anyone please help me out in this problem.. i cannot run this program... the main thing is like i need to get the x-axis in degrees. like 45,44.5,45.45.5,46.
clc;
close all;
%%giving the inputs for calculating the Specular Reflections
thetaInDegrees1 = linspace(44,46,100);
thetaInDegrees2 = 45;
thetaInDegrees3 = 0;
g = 0;
Lcorr = 2.3;
x1 = 25 * Lcorr;
x2 = 50 * Lcorr;
x3 = 100 * Lcorr;
x4 = 200 * Lcorr;
f = 300e9;
%% Formula For finding Specular Reflections
Lx = 10*Lcorr;
Ly = 10*Lcorr;
c = physconst('lightspeed');
lambda = c/f;
K = 2*pi/lambda;
Vx = K*(sin(thetaInDegrees1)-sin(thetaInDegrees2)*cos(thetaInDegrees3));
Vy = K*(-sin(thetaInDegrees2)*cos(thetaInDegrees3));
rho= sinc(Vx*Lx) * sinc(Vy*Ly);
rhorho = exp(-g) * ((rho).^2);
%printing in degrees
plot(thetaInDegrees1,x1,rhorho);
hold on
plot(thetaInDegrees1,x2,rhorho);
hold on
plot(thetaInDegrees1,x3,rhorho);
hold on
plot(thetaInDegrees1,x4,rhorho);
hold on
axis equal
xlabel('\theta');
ylable('<rho*rho>^*_spec only [dB]')

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by