How to use 'Switch case' with Matlab Function Block in Simulink?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm able to run the following code in MATLAB:
n = input('n: ');
x = 3;
y = 2;
switch n
case 1
z = (x-y)/2
case 2
z = (x+y)/2
end
I want the 'n' value to come from a constant (or any other input block), which goes to MATLAB Function Block, and display the output when I simulate the Simulink model. Something like this:

I edited the Function Block's code as follows:
function result = fcn(n)
%#codegen
x = 3;
y = 2;
switch n
case 1
z = (x-y)/2
case 2
z = (x+y)/2
end
Its giving me several errors:

Can someone tell me what is wrong with my code or any other fixes to make this thing work?
Thanking You, Harshil
0 comentarios
Respuestas (3)
Azzi Abdelmalek
el 26 de Jun. de 2015
What if n is different from 1 and 2? Try this
function result = fcn(n)
%#codegen
x = 3;
y = 2;
z=0;
switch n
case 1
z = (x-y)/2
case 2
z = (x+y)/2
end
3 comentarios
Azzi Abdelmalek
el 26 de Jun. de 2015
I tested this code, it works fine. Post your real code, we can't find the problem with another code.
Anjum Tamboli
el 30 de Nov. de 2017
</matlabcentral/answers/uploaded_files/96734/Screenshot%20(29).png>This code does not work. for first range of values output should be only at y and for second range ouput should be at y1. please suggest me the modifications to run the program successfully. Thanks and Regards Anjum
0 comentarios
Ver también
Categorías
Más información sobre Event Functions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!