What is Simulink?
Design. Simulate. deploy.
Simulink is a block diagram environment used to design systems with multidomain models, simulate before moving to hardware & deploy without writing code.
Simulink is for Model-Based Design
From concept to operation
To transform development of complex systems, market-leading companies adopt Model-Based Design by systematically using models throughout the entire process.
- Use a virtual model to simulate and test your system early and often
- Validate your design with physical models, Hardware-in-the-Loop testing, and rapid prototyping
- Generate production-quality C, C++ , CUDA, PLC, Verilog, and VHDL code and deploy directly to your embedded system
- Maintain a digital thread with traceability through requirements, system architecture, component design, code and tests
- Extend models to systems in operation to perform predictive maintenance and fault analysis
Design & Simulate your System before moving to hardware
Explore a wide design space and test your systems early with multidomain modeling and simulation.
- Quickly evaluate multiple design ideas in one multidomain simulation environment
- Simulate large-scale system models with reusable components and libraries including specialized, third-party modeling tools
- Deploy simulation models for desktop, real-time, and Hardware-in-the-Loop testing
- Run large simulations on multicore desktops, clusters, and the cloud
Simulink is for model-based systems engineering
Design, analyse & test system & Software Architectures
Model-based systems engineering (MBSE) is the application of models to support the full system lifecycle. Simulink bridges development from requirements and system architecture to detailed component design, implementation, and testing.
- Capture and decompose requirements
- Define and elaborate specifications for components, compositions, and architectures
- Establish a single-source for architecture and component-level interfaces
- Perform analysis and trade studies using MATLAB
- Validate requirements and verify system architectures using simulation-based tests
Simulink is for agile software development
Agile software development helps teams deliver value to their customers faster using short iteration cycles with an emphasis on continuous integration and team collaboration. Simulation, automated testing, and code generation shorten the development cycle, enabling you to become a successful Agile team.
- Develop and run simulation tests in an automation server to continuously verify new design iterations
- Perform more analysis and testing on the desktop before going to hardware
- Deliver working software through simulations that customers can evaluate
- Respond to changing requirements quicky through model updates and simulation
- Make progress visible to key stakeholders with automated reports and dashboards
Simulink is for MATLAB users
Use MATLAB and Simulink together to combine the power of textual and graphical programming in one environment.
Apply your MATLAB knowledge to:
- Optimize parameters
- Create new blocks
- Write tests and automation scripts
- Run thousands of simulations in parallel
- Analyze simulation results
Simulink and AI
Simulink offers integration with AI techniques, so you can leverage its capabilities for system modelling, control, and decision-making.
Simulink is a robust block diagram environment designed for modeling, designing, and simulating multi-domain systems. It enables the generation of code and deployment to hardware. With built-in AI capabilities, Simulink supports algorithm development and environment modeling. It allows users to simulate deep learning networks, integrating control, signal processing, and sensor fusion components, which help assess how deep learning models affect overall system performance.
Example: In the video, “Simulink for Artificial Intelligence workflows“, we look at deep learning functionalities in Simulink using Deep Learning Toolbox and MATLAB Function block to build a model for lane and vehicle detection. We will also demonstrate how Transfer Learning can be used on pre-trained models using smaller or different datasets.