Making IF conditional sentance.
Afficher commentaires plus anciens
Hi guys. I want to make some if conditional sentance.
I can't get a result, because of 'f'.
-----------------------------------------------------
f=[0:1:20]
f1=10;
E=20;
B0=15;
if (0<f && f<f1);
P = sqrt(E)/(2*B0);
elseif (f1<f && f<2*B0-f1);
P = (sqrt(E)/(4*B0))*(1+cos((pi*(abs(f)-f1))/(2*(B0-f1))));
else
P = 0
end
plot(f,2*B0*P/sqrt(E));
-----------------------------------------------------------------
Matlab says that && can't be used with doubled value..
Please help.
Réponse acceptée
Plus de réponses (1)
James Tursa
le 2 Avr 2015
Modifié(e) : James Tursa
le 2 Avr 2015
0 votes
f is a vector, so the expression f<f1 is also a vector. And when you try to use this vector with the && operator you get the error message.
Either vectorize all of this to generate your P if you are up to the task, or wrap it in a loop to generate your P values using only one element of f in each iteration to generate one element of P.
1 commentaire
baek
le 2 Avr 2015
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!