Initializing help system before first use

Running Mosel models from MATLAB


Type: Programming
Rating: 2 (easy-medium)
Description: Evaluate a MATLAB function from Mosel:
  • fibonacci.m: an implementation of the Fibonacci function in MATLAB
  • fib_relay.mos: calling the MATLAB 'fibonacci' function from Mosel
File(s): fibonacci.m, fib_relay.mos


fibonacci.m
%*******************************************************
%  Mosel Matlab Example Problems
%  =============================
%
%  file fibonacci.m
%  ``````````````````
%  Fibonacci function for the fib_relay.mos program
%  
% (c) 2014 Fair Isaac Corporation
%     author: L.Bertacco, Apr. 2014
%*******************************************************

function f=fibonacci(n)   
  if n<2, f=n; return, end
  s=[0 1];
  for i=2:n, s=[s(2) sum(s)]; end  
  f=s(2);
end

fib_relay.mos
(!******************************************************
   Mosel Matlab Example Problems
   =============================

   file fib_relay.mos
   ``````````````````
   Calling a MATLAB user-defined function 
   
  (c) 2014 Fair Isaac Corporation
      author: L.Bertacco, Apr. 2014
*******************************************************!)

model "fib_relay"                              
 function fibonacci(i:integer):integer         
  initializations to "matlab.mws:"             
    i                                          
  end-initializations                          

  initializations from "matlab.mws:"           
   returned as "fibonacci(i)"                  
  end-initializations                          
 end-function                                  

 forall(i in 1..10) do                         
  writeln("fibonacci(", i, ")=", fibonacci(i)) 
 end-do                                        
end-model