Software Availability
MATLAB GUI Development For Virtual Lab Activities
AbstractA MATLAB Graphical User Interface (GUI) software is developed to assist students to participate
effectively in online classes and lab activities. This software development was completed by the summer
of 2020, and currently, it is available for mechanical engineering students and for all university faculty
members. The software program was compiled using MATLAB, and it can simulate important conceptual
models such as transfer function and state-space [2]. Besides facilitating remote class activities, this
GUI software can also provide interactive plots or graphs of dynamic simulations on a computer without
installing MATLAB in it. The mechanical engineering students at Weber State University started to use it
in the Fall of 2020 for some of the remote class assignments of the Dynamic system modeling course.
References[1] MATLAB Compiler Toolbox 2020.
[2] N.Nise, Control Systems Engineering, 8th Ed. John Wiley & Sons, Incorporated, 2019.
Functionalities
❑The developed software, runtime installer, and documentation
files can be downloaded from:
https://weberstate.app.box.com/s/02mkxcn2225ktflq6q0v1qtfxbz3
yx0r
Introduction
❑ To facilitate the remote learning experience for the students,
this GUI can do a few essential dynamic simulations on a
computer without installing MATLAB in it.
❑ This software will be a supporting tool for the lab
assignments that demonstrate the Transfer Function and
State-variable concepts.
❑ By using it, students will be able to test their model simulation
remotely from their home and share their plots or results with
the instructor.
Procedure and Methodology
The workflow and methodology of this project are given in the
following steps:
Step 1: Design a layout of the visual components of the GUI
software interface that includes user control input-variables
such as dropdown menus, push-button, slider bar, and edit
boxes for numeric data.
Step 2: MATLAB APP Designer (Previously known as GUIDE)
to establish dependencies between the operational inputs and
outputs.
Step 3: Develop MATLAB script that will fetch user input
variables such as masses or inertia, spring constants, damping
coefficients, and simulation time to create transfer function and
state-space matrices.
Step 4: Assign buttons and slider bars that are going to trigger
the MATLAB callback functions and do dynamic plotting using
image handles.
Step 5: Test the software by using different inputs.
Step 6: MATLAB compiler deploy-tool to package the program
and create a standalone executable (.exe) [1].
Final Product
Limitations and Conclusion
❑Can’t convert a 4th order differential equation to a transfer function.
❑Number of the numerator and denominator matrices are limited up to s3
in a transfer function.
❑Students started to use it for remote assignments and HW in Fall 2020.
❑Further improvements to this GUI will be made for future use.
❑Updated revision of this software will be available in the same location.
❑Please contact [email protected] if you find any bug or mistake in
the software.
byDr. Tariq Arif
Mechanical Engineering DepartmentWeber State University
Purpose of the Project
Major goals of this project can be divided into the following three
parts:
1. Design and development of a standalone MATLAB GUI to
support virtual lab activities.
2. Add visualization capabilities of step or impulse response of
a model as the user changes input through dropdown
menus, push-button, slider bar, and edit boxes.
3. Upload and share the final executable software.
Figure 1. Virtual lab workflow example using GUI software.
Figure 2. GUI interface to check the effect of damping ratio and natural frequency of a system
Figure 3. GUI interface to transfer function to state-space and to check step and impulse responses.
Figure 4. GUI interface to find state-space response to initial condition and to convert differential equation into a transfer function.
Funded by: RSPG Experiential Learning Online grant