Unable to apply an if condition x^2+y^2=a^2;

1 vue (au cours des 30 derniers jours)
Muhammad Mubashar saeed
Muhammad Mubashar saeed le 25 Avr 2021
Commenté : DGM le 25 Avr 2021
I have this code and I just want to execute values of x & y with this condition
x^2+y^2=a^2;
f=2500;
Rt=30;
x=1:0.1:5;
y=1:0.1:5;
x.^2+y.2<=a.^2
D=500;
a=((3*f.*Rt*D)./4).^(1/3);
p=((3*f)./(2*pi*a.^2))*x.*y;
plot(a,p)

Réponses (1)

DGM
DGM le 25 Avr 2021
Modifié(e) : DGM le 25 Avr 2021
This is a logical test that's not being assigned to any variable. It does nothing but dump to console.
x.^2+y.2<=a.^2
You have to actually use the result for something in order for it to have any effect.
D=500;
a=((3*f.*Rt*D)./4).^(1/3); % you have to actually define a before you use it
mask=x.^2+y.^2<=a.^2; % y.2 isn't a valid expression
p=((3*f)./(2*pi*a^2))*x(mask).*y(mask);
and plotting a vector versus a scalar doesn't do anything useful
plot(p)
There are probably other errors still.
  3 commentaires
Muhammad Mubashar saeed
Muhammad Mubashar saeed le 25 Avr 2021
x^2+y^2<=a^2;
DGM
DGM le 25 Avr 2021
That's what the mask is for. It selects the values that meet the condition.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by