How to use 'Switch case' with Matlab Function Block in Simulink?
    11 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposte (3)
  Azzi Abdelmalek
      
      
 il 26 Giu 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 Commenti
  Azzi Abdelmalek
      
      
 il 26 Giu 2015
				I tested this code, it works fine. Post your real code, we can't find the problem with another code.
  Anjum Tamboli
 il 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 Commenti
Vedere anche
Categorie
				Scopri di più su Event Functions in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



