MathWorks | Guy on Simulink
391 FOLLOWERS
Guy Rouleau is an Application Engineer for MathWorks. He writes here about Simulink and other MathWorks tools used in Model-Based Design.
MathWorks | Guy on Simulink
2w ago
MATLAB R2024a is now available, and a lot of new important features have been added to Simulink. Here are my top 5.
Simulation object
Using the Simulation object, you can programmatically run a simulation step by step. You can execute the simulation one step at a time, for a specified number of steps or up to a specific time. Here is an example where I simulate the model up to t=18.5 seconds, then I change the value of variable k and continue the simulation until the stop time:
mdl = 'vdpX';
sm = simulation(mdl);
% Run the first part of the simulation with k=0.2
sm.setVariable('k',0.2);
step ..read more
MathWorks | Guy on Simulink
3w ago
MATLAB R2024a has been released recently, so I thought I should share my favorite new addition to Simulink: The ability to add emojis everywhere!
As you probably know, it has been possible for many releases now to include emojis in the comments of MATLAB code:
It is now possible to use emojis in Simulink too!
Including Emojis in blocks and signal names
When you are editing the name of a block or an annotation, try hitting the shortcut "Win+." (or Cmd-Ctrl-Space for Mac OS) to launch the emoji dialog:
Those will not only show up in the editor canvas, they will follow along through your entir ..read more
MathWorks | Guy on Simulink
1M ago
On this π day 2024, I decided to tag along with Mike Croucher from The MATLAB Blog and show one way to compute π.
While Mike went for advanced maneuvers involving the MATLAB AI Chat Playground, Parallel Computing Toolbox, and even Quantum Computing, I decided to go with the way our ancestors would have done thousands of years ago: by rolling a cylinder. See method 1 in this WikiHow article for more details.
The Model
Using Simscape Multibody, I connected a Planar Joint and a Cylinder Solid together. I let the Cylinder fall on an Infinite Plane and used the Spatial Contact Force block to compu ..read more
MathWorks | Guy on Simulink
3M ago
The MathWorks Certification Program recently released a new certification: Simulink Associate.
With this certification, you will be able to demonstrate your Simulink proficiency to colleagues, industry peers and potential employers.
We carefully designed the certification such that it validates the skills most organizations seek in successful and productive Simulink users.
How to become a MathWorks Certified Simulink Associate
To be certified, you will need to register and pass an online test with 42 multiple-choice questions. If you want to get a feeling of what those questions look like, s ..read more
MathWorks | Guy on Simulink
6M ago
A few weeks ago I published this blog post: Getting the most out of Rapid Accelerator mode – Version R2023b, where I described how to simulate a model multiple times in Rapid Accelerator mode for maximum performance using the parameter RapidAcceleratorUpToDateCheck='off'.
In this previous post, I was tuning the value of a Gain block. This week I received the question: Can I do the same for a parameter of type popup?
The Problem
I have this model with a masked subsystem that has a popup parameter. Under the mask, the variable associated with the popup, choice, is used to control what type of n ..read more
MathWorks | Guy on Simulink
6M ago
In Simulink, the different simulation modes (accelerators) can save you a lot of time. There are, however, subtleties to what “time” you can save, and how we can achieve those savings. In this post, I will explain most of the cases you can encounter, and hopefully shed light on what simulation modes and options best align with your needs.
First, let me introduce the way I think about the main phases that take time when simulating a model involving any of the accelerator modes:
If you start from scratch, without any existing cache, Simulink will do all 3 of those phases. However once you simu ..read more
MathWorks | Guy on Simulink
7M ago
I don’t usually publicize this sort of thing on this blog, but I think the subject is too relevant for many readers of this blog to no advertise it.
Next Thursday, October 19th, 2023, we are having a YouTube Livestream on speeding up Simulink simulations!
With my colleagues Weiwu and Reid, we will share the most useful tips and tricks we have gathered through many years of supporting Simulink users.
Click the "Notify me" button on the YouTube page if you don't want to forget.
For those who cannot wait, I recommend looking at the article Improving Simulation Performance in Simulink that Weiwu ..read more
MathWorks | Guy on Simulink
7M ago
Earlier this week, a user came to me with a question related to a blog post I wrote a long time ago: Getting the most out of Rapid Accelerator mode. This made me realize that since then, we have made significant usability improvements to this workflow. This inspired me to rewrite this blog post using the latest recommended syntax as of MATLAB R2023b.
Rapid Accelerator
As explained here, the Rapid Accelerator simulation mode can speed up simulation by generating an executable for your model. The speedup can vary between models and for various reasons. Personally, I have seen some models run mo ..read more
MathWorks | Guy on Simulink
7M ago
A colleague recently told me that he was often referring users to this blog post I wrote many years ago: How Do I Change a Block Parameter Based on the Output of Another Block?
Even if most of what I wrote in that post still holds today, I thought it would be a good idea to revisit this topic and describe how the Parameter Writer block modifies the game.
Signals vs Parameters in Simulink
In How Do I Change a Block Parameter Based on the Output of Another Block?, I tried to explain something fundamentally different between MATLAB and Simulink. In general, in MATLAB, all the data you create and ..read more
MathWorks | Guy on Simulink
8M ago
With so many features and enhancements introduced each release, it's difficult to decide which ones to highlight on this blog. Here are a few of my favorites in R2023b.
Variant Navigation
In R2023b, we decided to make a few quality-of-life enhancements to variant subsystems. If you enable the content preview for a variant subsystem, we now display the content of the active variant instead of the variant layer. Also, when double-clicking on a variant subsystem, we now automatically jump right into the active variant. We hope this will save you a few clicks.
Here are the R2023a and R2023b behav ..read more