Switch/case command function
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to create a function with the switch /case commands and run it from another program satisfying certain criteria. The files are in the same folder but I'm not sure how to lay out the function and call it for that matter. Here is my function file:
function input = g(x) switch input case x < -pi disp('-1') case g >= -1 && g<= pi cos(g) case g > pi disp('-1')
end
Thanks for you help
0 Kommentare
Akzeptierte Antwort
James
am 28 Mär. 2012
Here is the function that does it (hopefully it is what you want)
function y=g(x)
if x < -pi
y=-1;
elseif (x >= -pi && x<=pi)
y=cos(x);
elseif x > pi
y=-1;
end
2 Kommentare
James
am 28 Mär. 2012
No problem. It seems that you are asking two questions. For the layout of the function and calling from another program:
You can create the function by going to matlab,
1.File -> New-> function
2.Delete everything and paste the code in the code above.
3.Save it at the same folder as your calling program.
4.To use this g function from the main program, just type y=g(x) e.g. g(pi) at your main program function whenever you need to compute g(x).
Weitere Antworten (1)
James
am 28 Mär. 2012
Hi Angel,
I'm not sure if I fully understand your problem. However, just a quick glance on it, the case statement is not possible for inequality. I guess you have to use a list of if-elseif :)
Extracted from http://www.mathworks.com/help/techdoc/ref/switch.html: A case_expression cannot include relational operators such as < or > to compare against the switch_expression. To test for inequality, use if-elseif statements.
Siehe auch
Kategorien
Mehr zu Data Type Identification 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!