How to use 'Switch case' with Matlab Function Block in Simulink?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (3)
Azzi Abdelmalek
am 26 Jun. 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 Kommentare
Azzi Abdelmalek
am 26 Jun. 2015
I tested this code, it works fine. Post your real code, we can't find the problem with another code.
Anjum Tamboli
am 30 Nov. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Event Functions 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!