User defined function wont work, syntax issue?
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
function [Max_height] = Nheight(v0, la, g)
Max_height = -(v0^2*sin(la)^2)/(2*g);
not really sure what to do to fix it. Cant get it to work.
3 Kommentare
Jan
am 5 Nov. 2012
@Tyler: Please provide the error message and the inputs, which cause the error. Otherwise an answer required guessing, and this is always a bad strategy.
Antworten (5)
Walter Roberson
am 5 Nov. 2012
Your code would have a problem if any of your parameters are vectors, and could have a problem if they are matrices. You should change your * operations to .* and you should change ^ to .^ and should change / to ./
0 Kommentare
Tyler
am 5 Nov. 2012
3 Kommentare
Walter Roberson
am 5 Nov. 2012
I am confused about whether the problem is solved or not? If it is not please show your current function and show your main routine where you are calling it.
You do realize that with the code you showed earlier, your "la" and "g" would be undefined? fminbnd() only passes in one parameter. See the fminbnd() documentation.
Jan
am 5 Nov. 2012
How do you call the function? Perhaps like this:
v0 = 123;
la = 234;
g = 567;
Max_height = Nheight
You have to call the function in this way:
Max_height = Nheight(v0, la, g)
The existence of v0 in the workspace is not enough for functions in opposite to scripts. You have to provide the inputs explicitly.
0 Kommentare
Tyler
am 6 Nov. 2012
6 Kommentare
Walter Roberson
am 6 Nov. 2012
What is your current version of the code?
Having variables in the workspace is not good enough: you need to pass them in to the function if they appear in the function heading.
Siehe auch
Kategorien
Mehr zu MATLAB Coder finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!