Borrar filtros
Borrar filtros

How can I plot the current input to a system in Simulink?

8 visualizaciones (últimos 30 días)
Aayuraditya
Aayuraditya el 20 de Jul. de 2023
Comentada: Aayuraditya el 20 de Jul. de 2023
Hi there,
I'm looking for a way to display the current value from a Simulink model in a contour-plot. (So the scopes etc won't help here) It has to be in Simulink as I want it live, and the model shall be exported later.
  • XX,YY and ZZ are matrices of dim 60x60
  • contourf(XX,YY,ZZ); works fine
  • Simulink model that has time dependant inports from external source
  • I wanna display the current inport to my Simulink system in that contour plot.
But, please, HOW can that be done??
(If important: It doesn't necessarily have to be in real time. Big step sizes or delays are acceptable)
Thanks
  2 comentarios
Nandini
Nandini el 20 de Jul. de 2023
To display the current value from a Simulink model in a contour plot, you can use the MATLAB Function block in Simulink. Here's an example of how you can achieve this:
1. Open your Simulink model.
2. Add a MATLAB Function block to your model. You can find it under the "User-Defined Functions" category in the Simulink Library Browser.
3. Double-click the MATLAB Function block to open the block dialog.
4. In the block dialog, write the following code to update the contour plot with the current value of the input:
function y = fcn(u)
persistent XX YY ZZ
if isempty(XX)
[XX, YY] = meshgrid(1:60, 1:60); % Define the grid for XX and YY
ZZ = zeros(size(XX)); % Initialize ZZ with zeros
end
% Update ZZ with the current value of the input
ZZ(u(1), u(2)) = u(3);
% Plot the contour plot
contourf(XX, YY, ZZ);
% Return the input value
y = u;
end
5. Connect the input signal to the MATLAB Function block. The input signal should be a vector `[x, y, z]`, where `x` and `y` represent the coordinates of the point in the contour plot, and `z` represents the value of the point.
6. Connect the output of the MATLAB Function block back to the model if needed.
7. Set the simulation parameters in Simulink to run the model. You can adjust the step size and simulation duration based on your requirements.
When you run the simulation, the contour plot will be updated with the current value of the input at each time step. The input value will also be passed through the MATLAB Function block if needed.
Note that the contour plot will be updated at each simulation step, so you can control the frequency of updates by adjusting the step size in the simulation parameters.
Aayuraditya
Aayuraditya el 20 de Jul. de 2023
It worked thanks alot!!

Iniciar sesión para comentar.

Respuesta aceptada

Nandini
Nandini el 20 de Jul. de 2023
To display the current value from a Simulink model in a contour plot, you can use the MATLAB Function block in Simulink. Here's an example of how you can achieve this:
1. Open your Simulink model.
2. Add a MATLAB Function block to your model. You can find it under the "User-Defined Functions" category in the Simulink Library Browser.
3. Double-click the MATLAB Function block to open the block dialog.
4. In the block dialog, write the following code to update the contour plot with the current value of the input:
function y = fcn(u)
persistent XX YY ZZ
if isempty(XX)
[XX, YY] = meshgrid(1:60, 1:60); % Define the grid for XX and YY
ZZ = zeros(size(XX)); % Initialize ZZ with zeros
end
% Update ZZ with the current value of the input
ZZ(u(1), u(2)) = u(3);
% Plot the contour plot
contourf(XX, YY, ZZ);
% Return the input value
y = u;
end
5. Connect the input signal to the MATLAB Function block. The input signal should be a vector `[x, y, z]`, where `x` and `y` represent the coordinates of the point in the contour plot, and `z` represents the value of the point.
6. Connect the output of the MATLAB Function block back to the model if needed.
7. Set the simulation parameters in Simulink to run the model. You can adjust the step size and simulation duration based on your requirements.
When you run the simulation, the contour plot will be updated with the current value of the input at each time step. The input value will also be passed through the MATLAB Function block if needed.
Note that the contour plot will be updated at each simulation step, so you can control the frequency of updates by adjusting the step size in the simulation parameters.

Más respuestas (0)

Categorías

Más información sobre Contour Plots en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by