Effacer les filtres
Effacer les filtres

how to use fzero?

1 vue (au cours des 30 derniers jours)
Qasim Manzoor
Qasim Manzoor le 22 Oct 2013
Commenté : Matt J le 22 Oct 2013
the code im trying to run is
m1=input('Enter Mach number=');
y=input('Enter the Specific Heat ratio of working fluid=');
ang=input('Enter theta =');
syms b
t=ang*(pi/180);
f=tan(t)-2*cot(b)*((((m1^2)*(sin(b))^2)-1)/((m1^2*(y+cos(2*b)))+2));
fzero(f,25)
what i actually need is to find the value of b which makes the function "f" zero where t,m1 and y are numerical values. so i need to solve the above equation for b. any tips how i can do this?

Réponse acceptée

Matt J
Matt J le 22 Oct 2013
Omit the symbolic operations, if you plan to solve numerically
m1=input('Enter Mach number=');
y=input('Enter the Specific Heat ratio of working fluid=');
ang=input('Enter theta =');
t=ang*(pi/180);
f=@(b) tan(t)-2*cot(b)*((((m1^2)*(sin(b))^2)-1)/((m1^2*(y+cos(2*b)))+2));
fzero(f,25)
  2 commentaires
Qasim Manzoor
Qasim Manzoor le 22 Oct 2013
does that mean that fzero isnt compatible with syms?
Matt J
Matt J le 22 Oct 2013
Modifié(e) : Matt J le 22 Oct 2013
That's right, it is not a symbolic solver. For that you would use solve(). However, there doesn't appear to be any reason to be doing symbolic computations in this situation.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by