fsolve usage
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I would like to find help fixing my m-file and command windows. M-File that will determine the V0(initial velocity) and t(detonation time) necessary to hit a target.
input data: theta
weight %Weight of projectile
c %Aerodynamic drag coefficient
return data: V0, t
function [V0,t]=offensive(theta,weight,c)
g=32.2;
weight=10;
theta=pi/6;
t=sqrt((2/g)*(300+5000*tan(theta)));
V0=[5000/(t*cos(theta))];
[V0,t]
command window
[V0,t]=fsolve(offensive,pi/6,10,0.1)
ans = 410.3725 14.0689
??? Error using ==> fsolve
FUN must be a function name, valid string expression,
or inline function object.
Thanks.
0 comentarios
Respuestas (2)
Walter Roberson
el 16 de Oct. de 2011
[V0,t]=fsolve(@offensive,pi/6,10,0.1)
With the code you had, you were invoking the routine named "offensive" with no arguments, and passing the (numeric) result of that routine in as the first argument to fsolve.
Note that you will need to rewrite your routine "offensive" to use the parameters passed in to it instead of overwriting them in the routine.
2 comentarios
Walter Roberson
el 17 de Oct. de 2011
How old is your MATLAB version? Anonymous functions were not supported in MATLAB 5 or some of MATLAB 6. You might have to code as
[V0,t] = fsolve('offensive',pi/6,10,0.1)
Naz
el 16 de Oct. de 2011
command line:
[Vo,t]=offensive(pi/6,10,.1)
Your function code does not make sense. You pass theta, weight, c to it, but then you rewrite 'weight' and 'theta' again inside the function. Then, I dont see you using these parameters - nor 'c', not 'weight' to calculate the V0 and t.
You are getting the answer because you did not comment the last line in the function code. Also, I dont think you need that line at all.
4 comentarios
Walter Roberson
el 17 de Oct. de 2011
If you show the calculation with drag included, I would have a better chance of analyzing the situation.
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!