SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
1
BANSILAL RAMNATH AGARWAL CHARITABLE TRUST’S
VISHWAKARMA INSTITUTE OF TECHNOLOGY
PUNE – 411 037.
(An Autonomous Institute Affiliated to University of Pune)
A Mini project report on
“MATLAB GUI ”
(CALCULATOR, PLOTS, RESPONSES, CONVOLUTION)
Submitted by
RISHYAB KOUL (R-10)
SHRIJAY KALAMBE (Q-27)
SANDEEP SURYAWANSHI (R-16)
Under The Guidance of
Prof. Mrs. S.S. PATANKAR
Dept. of Instrumentation and control.
2
Bansilal Ramnath Agrawal Charitable Trust’s
VISHWAKARMA INSTITUTE OF TECHNOLOGY
PUNE – 411 037.
CERTIFICATE
This is to certify that the mini project titled “MATLAB GUI” has been completed in the
academic year 2012-13 by RISHYAB KOUL (R-10), SHRIJAY KALAMBE (Q-27) and
SANDEEP SURYAWANSHI (R-16) in partial fulfillment of the Bachelor’s Degree in the
second Year Instrumentation Engineering as prescribed by the University of Pune.
Prof. Mrs. S S Patankar Prof. Dr. J V Kulkarni
(Guide) (Head of the Department)
Place: Pune Date:
3
ACKNOWLEDGEMENT
We would like to thank our project guide Prof. Mrs. S.S.Patankar for her valuable
guidance, suggestions and timely help in the completion of project report on
“MATLAB GUI. We would also like to extend our sincere gratitude to Prof. Dr. J.V.
KULKARNI Head of Department and all the staff members of the Instrumentation and
Control Engineering Department for their timely support, encouragement and
guidance. Last but not the least we express profuse regards and deep wishes to friends
who gave helping hands with their direct and indirect co-operation.
4
Table of Contents
Chapter Sr. No. Topic Page
No.
1 Introduction 7
1.1 Motivation 7
1.2 Scope 7
1.3 Problem statement 7
2 Calculator 8
2.1 Function used 8
2.2 Flow chart 9
2.3 Pseudo code 10
2.4 Testing 10
3 Plot 11
3.1 Function used 11
3.2 Flow chart 12
3.3 Pseudo code 13
3.4 Testing 13
4 Responses 14
4.1 Function used 14
4.2 Flow chart 15
4.3 Pseudo code 16
4.4 Testing 16
5 Convolution 17
5
5.1 Function used 18
5.2 Flow chart 19
5.3 Pseudo code 20
5.4 Testing 20
6 Step 21
6.1 Function used 21
6.2 Flow chart 22
6.3 Pseudo code 23
6.4 Testing 23
7 bode 24
7.1 Function used 24
7.2 Flow chart 25
7.3 Pseudo code 26
7.4 Testing 26
8 Conclusion/Future scope 27
9 Bibliography 28
6
List of Figures
Sr. No. Topic Page no.
1 Fig 2.1 Calculator 8
2 fig 3.1 Sine curve 11
3 Fig 4.1: Convolution sum of the two systems. 14
4 Fig 5.2 impulse response of system 17
5 Fig 6.1step response of system 20
6 Fig7. 1 bode plot of system 23
7
Chapter 1.
Introduction
Here by using basic tools of MATLAB GUI (graphical user interface ) we have made
calculator , plots of basic function ,bode plots ,impulse response ,step response ,convolution of
system .for understanding the basic function of the GUI and programming we have made the
calculator which will perform the basic function mathematics like addition, multiplication,
subtraction , division and some more .which helped lots us to understand tools in in matlab and
programming . Here by understanding concepts of GUI we have applied to find out bode plot of
any system to graphically means without going for programming and which will easy for
anybody to find bode plot of system.
For convolution we had plotted two given function and range we have taken from user.
The we have added that this two function by using graphical method. Mainmenu is a
combination of all function through which we can go to all for operation.
1.1 Motivation:
We have studied the ‘Signals and system’ and Control System then we came across many terms
like bode plot, impulse response, step response, convolution of two signals. We have
implemented this all in the very wonderful matrix laboratory tool “MATLAB”, and then we
thought of making it very user friendly so that without knowing the programming for the
particular function one can use it.
For that we used the Matlab GUI tool to make it user friendly in this way we come up with this
project.
1.2 Scope:
By using this matlab GUI tool the mathematical concept like impulse response, step response,
bode plot, convolution can be made very user friendly without knowing these above concepts
how to implement in matlab one can use this tool. No need to do programming again and again it
will save lots of time of user to get output.
1.3 Problem statement:
To develop an algorithm for calculator, plots, responses, convolution using matlab
programming and graphical user interface .make the GUI in such a way that user can give input
and he will get the output in the graphical or algebraic form
8
Chapter 2.
Fig 1.1 Calculator:
2.1 Function used
1. strcat
2. str2num
3. get
4. set
9
2.2 Flow chart:
INPUT OF NUMBER &
OPERATION
THROUGH GUI
CHECK IF
THE
NUMBER
IS PRESNT
IN TEXT
BOX
STRING =STRING
THROGH THE INPUT
+STRING FROM TEXT BOX
START
CONVERT STRING INTO
NUMBER
RESULT
STOP
10
2.3 Algorithm:
1. For this we have first made GUI ,added this push button to which will serve as an input
for taking the number through user and arithmetical input such as ( + ,- , *, /, )
2. We have added static text box for displaying input which is given by user and for
showing the result.
3. Here we have used the logic as taking input from user as string it will take as string
from the user through button and it will add this string to string which if already present
in the static text box .
4. PSUDO CODE FOR THIS IS AS FOLLOW
n=get(handles.text1,'String');
m=get(handles.pushbutton17,'String');
set(handles.text1,'string',strcat(n,m))
% Here we adding two string through function strcat
When we press the equal to (=) button the this string which is present
in static text bar will be converted into the number by using
comment% str2num n=str2num(get(handles.text1,'String'));
set(handles.text1,'string',n)
For function like all clear [AC] we have made hole string zero .
set(handles.text1,'string','0')
2.4 Testing:
1 This follows bodmos rule if you gave function
2*3 +4 it will give 10
2. This calculator will give the output for division by zero to any no. as inf means infinity
Eg 4/0 =inf
3 Here we have faced problem while developing scientific calculator.
4 we are trying to develop on the scientific calculator
11
Chapter 3:
Plots:
Sine curve fig 3.1:-
3.1 Function used
1. strcat
2. str2num
3. get
4. set
12
3.1 Flowchart
FIND THE VALUE OF
TRIGNOMETRIC FUNCTION
PUTTING VALUE OF T IN IT
START
INPUT
RANGE OF T
PLOT THE GRAPH OF ‘T’
VERSUS
TRIGONOMETRIC
FUNCTION
SHOW THE GRAPH
IN AXES
STOP
13
3.2 Algotrithm:
1. For this we have made the GUI , which consist of button and axis ,edit text
2. Buttons are given function to plot the curves of sin ,cos ,tan
t=str2num(get(handles.edit1,'string')
r=get(handles.edit2,'string')
p=plot(t,r);
set(handles.axes1,'string',p)
3. here t is for taking the range in the form string converting into number
4. r is taking trigonometric function by putting value of t in it
5. Plot function is plotting the graph of t and r
6. Set is plotting this graph in axes
3.3 Testing
1. Here we are able to plot the basic plots sine, cos, tan with the given range of t.
E.g. sin(t) here t’s range 0.1:0.1:5 then we are plotting the plot of sin(t), t.
2. We have faced the problem that we can’t give the input function from the user.
3. And here we are planning to add the exponential function and logarithmic function in the near
future.
4. And we are also studying how to add the function from the user.
14
Chapter 4.
Convolution
Fig 4.1: Convolution sum of the two systems.
4.1 Function used
1. inline
2. str2num
3. get
4. set
5 stem
15
4.2 Flow chart:
Convolution
START
For loop
Condn
(?)
RESULT
STOP
T1 T2
Signal 1 Signal 2
Fig
1
Fig
2
END
t=tvec
ti=ti+1;
xh=h(t-tau).*x(tau);
y(ti)=sum(xh.*dtau);
tt=str2num
(get(handl
es.edit1,'
string'))
tvec=str2num(get(han
dles.edit2,'string')
)
x=inline('((exp(1)/10).^(
t-2)).*(t>=-5)','t')
h=inline('(2*((t=
=6)-(-
.8).^(t+2))).*(t>
=1)','t')
16
4.3 Algorithm
1. For this we have first made GUI figure shown above ,here T1 & T2 button
will give time period for the signals to generate the graph of the signals.
2. Then from the signals two figures will generate to which we have to
convolute.
3. These two graph or (signals) undergo the convolution on pressing
convolution.
4. After that we will get the output of the two signals as a convolution or as a
result.
5. For that we have shown below the flow diagram and the logic for the
following.
6. Stop.
Testing:
1. Here we are taking two functions’ range from user and we are plotting the convolution
sum graphically.
2. And here also we are not able to take the input function from the user.
3. We are studying how to take the input function from the user.
17
Chapter 5
Impulse
Fig 5.2 impulse response of system
5.1 Function used
1. plot
2. str2num
3. get
4. set
5 impulse
6 tf
18
5.2Flow chart:
t=str2num(get(handles.edit1,'string'))
Impulse(G)
START
NUM
M
DEN
G=tf (NUM, DEN)
Impulse(G)
Plot is obtained
END
19
5.3Algoritham
1. For this we have first made GUI, added this push button (NUM, DEN) to which will
serve as an input for taking the number through user.
2. We have added static text box for displaying input which is given by user and for
showing the result.
3. Here we have used the logic as taking input from user as string it will take as string
from the user through button and it will add this string to string which if already present
in the static text box .
4. PSUDO CODE FOR THIS IS AS FOLLOW
num=1
t=str2num(get(handles.edit1,'string'))
g=tf(num,t)
impulse(g)
title('impulse response')
xlabel('time')
ylabel('amplitude')
set(handles.axes1,'string',p)
5.4 Testing :
1. We are taking the range of input function from the user and plotting the impulse
response of the system.
2. And we are not able to take the input function from the user.
3. We are studying how to take the function from the user.
20
Chapter 6
Step
fIg 6.1step response of system
6.1 Function used
1. plot
2. str2num
3. get
4. set
5 impulse
6 tf
21
Flow chart:
t=str2num(get(handles.edit1,'string'))
step(g)
START
NUM
M
DEN
G=tf (NUM,DEN)
Step(G)
Plot is obtained
END
22
6.2 Algorithm:
1. For this we have first made GUI, added this push button (NUM, DEN) to which will
serve as an input for taking the number through user.
2. We have added static text box for displaying input which is given by user and for
showing the result.
3. Here we have used the logic as taking input from user as string it will take as string
from the user through button and it will add this string to string which if already present
in the static text box .
4. PSUDO CODE FOR THIS IS AS FOLLOW
num=1
t=str2num(get(handles.edit1,'string'))
g=tf(num,t)
step(g)
title('impulse response')
xlabel('time')
ylabel('amplitude')
set(handles.axes1,'string',p)
6.3Testing :
1We are taking the range of input function from the user and plotting the step response of
the system.
2And we are not able to take the input function from the user.
3We are studying how to take the function from the user.
23
Chapter 7
Bode plot
Fig7. 1 bode plot of system
7.1 Function used
1. plot
2. str2num
3. get
4. set
5.bode
6. tf
24
7.2 Flow chart:
step(g)
START
NUM
M
DEN
G=tf (NUM, DEN)
Step(G)
Plot is obtained
END
t=str2num(get
(handles.edit1,'
string'))
t=str2num(get
(handles.edit1,
'string'))
25
7.4 Algorithm:
1. For this we have first made GUI, added this push button (NUM, DEN) to which will
serve as an input for taking the number through user.
2. We have added static text box for displaying input which is given by user and for
showing the result.
3. Here we have used the logic as taking input from user as string it will take as string
from the user through button and it will add this string to string which if already present
in the static text box .
4. PSUDO CODE FOR THIS IS AS FOLLOW
num=str2num(get(handles.edit1,'string'))
den=str2num(get(handles.edit2,'string'))
g=tf(num,den)
bode(g)
title('bode graph')
grid on
xlabel('frequency')
ylabel('amplitude')
margin(g)
set(handles.axes1,'string',p)
7.5 Testing:
1. We are taking the numerator and denominator of the input system from the user and
plotting the bode and the gain and phase margin.
26
Chapter 8
Conclusion and future scope
The project has been successfully completed by having established the user friendly interface
with the help of Matlab GUI tool. It consists of calculator, bode plot, impulse response, step
response, convolution of two signals and other basic trigonometric plots. At the same time there
is some scope for improvement in the future. It can be possible to make it more users friendly by
adding more variety of functions to it. If we are able to introduce user defined functions then it
will give user what he wants, that will be ultimate success of our attempts.
27
BIBLIOGRAPHY
1. www.mathworks.com
2. Build GUI
3. Control system by OGATA
4. Signal and system by Ramesh Babu

Mais conteúdo relacionado

Mais procurados

School admission process management system (Documention)
School admission process management system (Documention)School admission process management system (Documention)
School admission process management system (Documention)
Shital Kat
 
Presentation on Railway Reservation System
Presentation on Railway Reservation SystemPresentation on Railway Reservation System
Presentation on Railway Reservation System
Priyanka Sharma
 

Mais procurados (20)

Final year project presentation in android application
Final year project presentation in android applicationFinal year project presentation in android application
Final year project presentation in android application
 
Online Cab Booking System Final Report
Online Cab Booking System Final ReportOnline Cab Booking System Final Report
Online Cab Booking System Final Report
 
Online Quiz System Project Report
Online Quiz System Project Report Online Quiz System Project Report
Online Quiz System Project Report
 
Bank management system
Bank management systemBank management system
Bank management system
 
Atm project
Atm projectAtm project
Atm project
 
summer training report on python
summer training report on pythonsummer training report on python
summer training report on python
 
School admission process management system (Documention)
School admission process management system (Documention)School admission process management system (Documention)
School admission process management system (Documention)
 
Currency converter
Currency converterCurrency converter
Currency converter
 
Scientific calculator in c
Scientific calculator in cScientific calculator in c
Scientific calculator in c
 
Placement management system
Placement management systemPlacement management system
Placement management system
 
Online Admission System
Online Admission System  Online Admission System
Online Admission System
 
Tic tac toe game with graphics presentation
Tic  tac  toe game with graphics presentationTic  tac  toe game with graphics presentation
Tic tac toe game with graphics presentation
 
Church Turing Thesis
Church Turing ThesisChurch Turing Thesis
Church Turing Thesis
 
VTU FINAL YEAR PROJECT REPORT Front pages
VTU FINAL YEAR PROJECT REPORT Front pagesVTU FINAL YEAR PROJECT REPORT Front pages
VTU FINAL YEAR PROJECT REPORT Front pages
 
Placement management system
Placement management systemPlacement management system
Placement management system
 
Tic tac toe
Tic tac toeTic tac toe
Tic tac toe
 
College admission system
College admission system College admission system
College admission system
 
Online Voting System - Project
Online Voting System - ProjectOnline Voting System - Project
Online Voting System - Project
 
Presentation on Railway Reservation System
Presentation on Railway Reservation SystemPresentation on Railway Reservation System
Presentation on Railway Reservation System
 
Ignou MCA mini project report
Ignou MCA mini project reportIgnou MCA mini project report
Ignou MCA mini project report
 

Destaque

Ec2306 mini project report-matlab
Ec2306 mini project report-matlabEc2306 mini project report-matlab
Ec2306 mini project report-matlab
unnimaya_k
 
Final report on gui based device control using matlab
Final  report  on  gui based device control using matlabFinal  report  on  gui based device control using matlab
Final report on gui based device control using matlab
Palak Sinha
 
Digitla Communication pulse shaping filter
Digitla Communication pulse shaping filterDigitla Communication pulse shaping filter
Digitla Communication pulse shaping filter
mirfanjum
 

Destaque (20)

scientific calculator using c
scientific calculator using cscientific calculator using c
scientific calculator using c
 
Scientific calculator project in c language
Scientific calculator project in c languageScientific calculator project in c language
Scientific calculator project in c language
 
Matlab dsp examples
Matlab dsp examplesMatlab dsp examples
Matlab dsp examples
 
Ec2306 mini project report-matlab
Ec2306 mini project report-matlabEc2306 mini project report-matlab
Ec2306 mini project report-matlab
 
Calculator scientific
Calculator scientificCalculator scientific
Calculator scientific
 
Gender detection using MATLAB
Gender detection using MATLABGender detection using MATLAB
Gender detection using MATLAB
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 
Java calculator
Java calculatorJava calculator
Java calculator
 
Using the scientific calculator
Using the scientific calculatorUsing the scientific calculator
Using the scientific calculator
 
Final report on gui based device control using matlab
Final  report  on  gui based device control using matlabFinal  report  on  gui based device control using matlab
Final report on gui based device control using matlab
 
Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...Final Project presentation on Image processing based intelligent traffic cont...
Final Project presentation on Image processing based intelligent traffic cont...
 
Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...Final Project Report on Image processing based intelligent traffic control sy...
Final Project Report on Image processing based intelligent traffic control sy...
 
Designing a uniform filter bank using multirate concept
Designing a uniform filter bank using multirate conceptDesigning a uniform filter bank using multirate concept
Designing a uniform filter bank using multirate concept
 
4.1worked out
4.1worked out4.1worked out
4.1worked out
 
POSTER Template_2
POSTER Template_2POSTER Template_2
POSTER Template_2
 
Digitla Communication pulse shaping filter
Digitla Communication pulse shaping filterDigitla Communication pulse shaping filter
Digitla Communication pulse shaping filter
 
Digfilt
DigfiltDigfilt
Digfilt
 
Java final project of scientific calcultor
Java final project of scientific calcultorJava final project of scientific calcultor
Java final project of scientific calcultor
 
FILTER BANKS
FILTER BANKSFILTER BANKS
FILTER BANKS
 
Design and Implementation of Speech Based Scientific Calculator
Design and Implementation of Speech Based Scientific CalculatorDesign and Implementation of Speech Based Scientific Calculator
Design and Implementation of Speech Based Scientific Calculator
 

Semelhante a Final project report

First Finite Divided Difference Calculator Using MIT App Inventor 2
First Finite Divided Difference Calculator Using MIT App Inventor 2First Finite Divided Difference Calculator Using MIT App Inventor 2
First Finite Divided Difference Calculator Using MIT App Inventor 2
Camille Bianca Gomez
 
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docxJLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
vrickens
 
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer VisionSimple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Anish Patel
 
Dti2143 dam31303 lab sheet 5
Dti2143 dam31303 lab sheet 5Dti2143 dam31303 lab sheet 5
Dti2143 dam31303 lab sheet 5
alish sha
 

Semelhante a Final project report (20)

Control system Lab record
Control system Lab record Control system Lab record
Control system Lab record
 
Mmc manual
Mmc manualMmc manual
Mmc manual
 
First Finite Divided Difference Calculator Using MIT App Inventor 2
First Finite Divided Difference Calculator Using MIT App Inventor 2First Finite Divided Difference Calculator Using MIT App Inventor 2
First Finite Divided Difference Calculator Using MIT App Inventor 2
 
The Input Statement in Core Python .pptx
The Input Statement in Core Python .pptxThe Input Statement in Core Python .pptx
The Input Statement in Core Python .pptx
 
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docxJLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docx
 
Dsp file
Dsp fileDsp file
Dsp file
 
MODELLING, ANALYSIS AND SIMULATION OF DYNAMIC SYSTEMS USING CONTROL TECHNIQUE...
MODELLING, ANALYSIS AND SIMULATION OF DYNAMIC SYSTEMS USING CONTROL TECHNIQUE...MODELLING, ANALYSIS AND SIMULATION OF DYNAMIC SYSTEMS USING CONTROL TECHNIQUE...
MODELLING, ANALYSIS AND SIMULATION OF DYNAMIC SYSTEMS USING CONTROL TECHNIQUE...
 
Introduction to Data Science With R Lab Record
Introduction to Data Science With R Lab RecordIntroduction to Data Science With R Lab Record
Introduction to Data Science With R Lab Record
 
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer VisionSimple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
 
GE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY
GE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORYGE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY
GE3171-PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY
 
BS LAB Manual (1).pdf
BS LAB Manual  (1).pdfBS LAB Manual  (1).pdf
BS LAB Manual (1).pdf
 
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
 
PLOTTING UNITE STEP AND RAMP FUNCTION IN MATLAB
PLOTTING UNITE STEP AND RAMP  FUNCTION  IN  MATLAB PLOTTING UNITE STEP AND RAMP  FUNCTION  IN  MATLAB
PLOTTING UNITE STEP AND RAMP FUNCTION IN MATLAB
 
Pengenalan Simulink
Pengenalan SimulinkPengenalan Simulink
Pengenalan Simulink
 
Dti2143 dam31303 lab sheet 5
Dti2143 dam31303 lab sheet 5Dti2143 dam31303 lab sheet 5
Dti2143 dam31303 lab sheet 5
 
FDS- Basic Concepts.ppt
FDS- Basic Concepts.pptFDS- Basic Concepts.ppt
FDS- Basic Concepts.ppt
 
The java code works, I just need it to display the results as in t.pdf
The java code works, I just need it to display the results as in t.pdfThe java code works, I just need it to display the results as in t.pdf
The java code works, I just need it to display the results as in t.pdf
 
B61301007 matlab documentation
B61301007 matlab documentationB61301007 matlab documentation
B61301007 matlab documentation
 
Kevin merchantss
Kevin merchantssKevin merchantss
Kevin merchantss
 
KEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENTKEVIN MERCHANT DOCUMENT
KEVIN MERCHANT DOCUMENT
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Final project report

  • 1. 1 BANSILAL RAMNATH AGARWAL CHARITABLE TRUST’S VISHWAKARMA INSTITUTE OF TECHNOLOGY PUNE – 411 037. (An Autonomous Institute Affiliated to University of Pune) A Mini project report on “MATLAB GUI ” (CALCULATOR, PLOTS, RESPONSES, CONVOLUTION) Submitted by RISHYAB KOUL (R-10) SHRIJAY KALAMBE (Q-27) SANDEEP SURYAWANSHI (R-16) Under The Guidance of Prof. Mrs. S.S. PATANKAR Dept. of Instrumentation and control.
  • 2. 2 Bansilal Ramnath Agrawal Charitable Trust’s VISHWAKARMA INSTITUTE OF TECHNOLOGY PUNE – 411 037. CERTIFICATE This is to certify that the mini project titled “MATLAB GUI” has been completed in the academic year 2012-13 by RISHYAB KOUL (R-10), SHRIJAY KALAMBE (Q-27) and SANDEEP SURYAWANSHI (R-16) in partial fulfillment of the Bachelor’s Degree in the second Year Instrumentation Engineering as prescribed by the University of Pune. Prof. Mrs. S S Patankar Prof. Dr. J V Kulkarni (Guide) (Head of the Department) Place: Pune Date:
  • 3. 3 ACKNOWLEDGEMENT We would like to thank our project guide Prof. Mrs. S.S.Patankar for her valuable guidance, suggestions and timely help in the completion of project report on “MATLAB GUI. We would also like to extend our sincere gratitude to Prof. Dr. J.V. KULKARNI Head of Department and all the staff members of the Instrumentation and Control Engineering Department for their timely support, encouragement and guidance. Last but not the least we express profuse regards and deep wishes to friends who gave helping hands with their direct and indirect co-operation.
  • 4. 4 Table of Contents Chapter Sr. No. Topic Page No. 1 Introduction 7 1.1 Motivation 7 1.2 Scope 7 1.3 Problem statement 7 2 Calculator 8 2.1 Function used 8 2.2 Flow chart 9 2.3 Pseudo code 10 2.4 Testing 10 3 Plot 11 3.1 Function used 11 3.2 Flow chart 12 3.3 Pseudo code 13 3.4 Testing 13 4 Responses 14 4.1 Function used 14 4.2 Flow chart 15 4.3 Pseudo code 16 4.4 Testing 16 5 Convolution 17
  • 5. 5 5.1 Function used 18 5.2 Flow chart 19 5.3 Pseudo code 20 5.4 Testing 20 6 Step 21 6.1 Function used 21 6.2 Flow chart 22 6.3 Pseudo code 23 6.4 Testing 23 7 bode 24 7.1 Function used 24 7.2 Flow chart 25 7.3 Pseudo code 26 7.4 Testing 26 8 Conclusion/Future scope 27 9 Bibliography 28
  • 6. 6 List of Figures Sr. No. Topic Page no. 1 Fig 2.1 Calculator 8 2 fig 3.1 Sine curve 11 3 Fig 4.1: Convolution sum of the two systems. 14 4 Fig 5.2 impulse response of system 17 5 Fig 6.1step response of system 20 6 Fig7. 1 bode plot of system 23
  • 7. 7 Chapter 1. Introduction Here by using basic tools of MATLAB GUI (graphical user interface ) we have made calculator , plots of basic function ,bode plots ,impulse response ,step response ,convolution of system .for understanding the basic function of the GUI and programming we have made the calculator which will perform the basic function mathematics like addition, multiplication, subtraction , division and some more .which helped lots us to understand tools in in matlab and programming . Here by understanding concepts of GUI we have applied to find out bode plot of any system to graphically means without going for programming and which will easy for anybody to find bode plot of system. For convolution we had plotted two given function and range we have taken from user. The we have added that this two function by using graphical method. Mainmenu is a combination of all function through which we can go to all for operation. 1.1 Motivation: We have studied the ‘Signals and system’ and Control System then we came across many terms like bode plot, impulse response, step response, convolution of two signals. We have implemented this all in the very wonderful matrix laboratory tool “MATLAB”, and then we thought of making it very user friendly so that without knowing the programming for the particular function one can use it. For that we used the Matlab GUI tool to make it user friendly in this way we come up with this project. 1.2 Scope: By using this matlab GUI tool the mathematical concept like impulse response, step response, bode plot, convolution can be made very user friendly without knowing these above concepts how to implement in matlab one can use this tool. No need to do programming again and again it will save lots of time of user to get output. 1.3 Problem statement: To develop an algorithm for calculator, plots, responses, convolution using matlab programming and graphical user interface .make the GUI in such a way that user can give input and he will get the output in the graphical or algebraic form
  • 8. 8 Chapter 2. Fig 1.1 Calculator: 2.1 Function used 1. strcat 2. str2num 3. get 4. set
  • 9. 9 2.2 Flow chart: INPUT OF NUMBER & OPERATION THROUGH GUI CHECK IF THE NUMBER IS PRESNT IN TEXT BOX STRING =STRING THROGH THE INPUT +STRING FROM TEXT BOX START CONVERT STRING INTO NUMBER RESULT STOP
  • 10. 10 2.3 Algorithm: 1. For this we have first made GUI ,added this push button to which will serve as an input for taking the number through user and arithmetical input such as ( + ,- , *, /, ) 2. We have added static text box for displaying input which is given by user and for showing the result. 3. Here we have used the logic as taking input from user as string it will take as string from the user through button and it will add this string to string which if already present in the static text box . 4. PSUDO CODE FOR THIS IS AS FOLLOW n=get(handles.text1,'String'); m=get(handles.pushbutton17,'String'); set(handles.text1,'string',strcat(n,m)) % Here we adding two string through function strcat When we press the equal to (=) button the this string which is present in static text bar will be converted into the number by using comment% str2num n=str2num(get(handles.text1,'String')); set(handles.text1,'string',n) For function like all clear [AC] we have made hole string zero . set(handles.text1,'string','0') 2.4 Testing: 1 This follows bodmos rule if you gave function 2*3 +4 it will give 10 2. This calculator will give the output for division by zero to any no. as inf means infinity Eg 4/0 =inf 3 Here we have faced problem while developing scientific calculator. 4 we are trying to develop on the scientific calculator
  • 11. 11 Chapter 3: Plots: Sine curve fig 3.1:- 3.1 Function used 1. strcat 2. str2num 3. get 4. set
  • 12. 12 3.1 Flowchart FIND THE VALUE OF TRIGNOMETRIC FUNCTION PUTTING VALUE OF T IN IT START INPUT RANGE OF T PLOT THE GRAPH OF ‘T’ VERSUS TRIGONOMETRIC FUNCTION SHOW THE GRAPH IN AXES STOP
  • 13. 13 3.2 Algotrithm: 1. For this we have made the GUI , which consist of button and axis ,edit text 2. Buttons are given function to plot the curves of sin ,cos ,tan t=str2num(get(handles.edit1,'string') r=get(handles.edit2,'string') p=plot(t,r); set(handles.axes1,'string',p) 3. here t is for taking the range in the form string converting into number 4. r is taking trigonometric function by putting value of t in it 5. Plot function is plotting the graph of t and r 6. Set is plotting this graph in axes 3.3 Testing 1. Here we are able to plot the basic plots sine, cos, tan with the given range of t. E.g. sin(t) here t’s range 0.1:0.1:5 then we are plotting the plot of sin(t), t. 2. We have faced the problem that we can’t give the input function from the user. 3. And here we are planning to add the exponential function and logarithmic function in the near future. 4. And we are also studying how to add the function from the user.
  • 14. 14 Chapter 4. Convolution Fig 4.1: Convolution sum of the two systems. 4.1 Function used 1. inline 2. str2num 3. get 4. set 5 stem
  • 15. 15 4.2 Flow chart: Convolution START For loop Condn (?) RESULT STOP T1 T2 Signal 1 Signal 2 Fig 1 Fig 2 END t=tvec ti=ti+1; xh=h(t-tau).*x(tau); y(ti)=sum(xh.*dtau); tt=str2num (get(handl es.edit1,' string')) tvec=str2num(get(han dles.edit2,'string') ) x=inline('((exp(1)/10).^( t-2)).*(t>=-5)','t') h=inline('(2*((t= =6)-(- .8).^(t+2))).*(t> =1)','t')
  • 16. 16 4.3 Algorithm 1. For this we have first made GUI figure shown above ,here T1 & T2 button will give time period for the signals to generate the graph of the signals. 2. Then from the signals two figures will generate to which we have to convolute. 3. These two graph or (signals) undergo the convolution on pressing convolution. 4. After that we will get the output of the two signals as a convolution or as a result. 5. For that we have shown below the flow diagram and the logic for the following. 6. Stop. Testing: 1. Here we are taking two functions’ range from user and we are plotting the convolution sum graphically. 2. And here also we are not able to take the input function from the user. 3. We are studying how to take the input function from the user.
  • 17. 17 Chapter 5 Impulse Fig 5.2 impulse response of system 5.1 Function used 1. plot 2. str2num 3. get 4. set 5 impulse 6 tf
  • 19. 19 5.3Algoritham 1. For this we have first made GUI, added this push button (NUM, DEN) to which will serve as an input for taking the number through user. 2. We have added static text box for displaying input which is given by user and for showing the result. 3. Here we have used the logic as taking input from user as string it will take as string from the user through button and it will add this string to string which if already present in the static text box . 4. PSUDO CODE FOR THIS IS AS FOLLOW num=1 t=str2num(get(handles.edit1,'string')) g=tf(num,t) impulse(g) title('impulse response') xlabel('time') ylabel('amplitude') set(handles.axes1,'string',p) 5.4 Testing : 1. We are taking the range of input function from the user and plotting the impulse response of the system. 2. And we are not able to take the input function from the user. 3. We are studying how to take the function from the user.
  • 20. 20 Chapter 6 Step fIg 6.1step response of system 6.1 Function used 1. plot 2. str2num 3. get 4. set 5 impulse 6 tf
  • 22. 22 6.2 Algorithm: 1. For this we have first made GUI, added this push button (NUM, DEN) to which will serve as an input for taking the number through user. 2. We have added static text box for displaying input which is given by user and for showing the result. 3. Here we have used the logic as taking input from user as string it will take as string from the user through button and it will add this string to string which if already present in the static text box . 4. PSUDO CODE FOR THIS IS AS FOLLOW num=1 t=str2num(get(handles.edit1,'string')) g=tf(num,t) step(g) title('impulse response') xlabel('time') ylabel('amplitude') set(handles.axes1,'string',p) 6.3Testing : 1We are taking the range of input function from the user and plotting the step response of the system. 2And we are not able to take the input function from the user. 3We are studying how to take the function from the user.
  • 23. 23 Chapter 7 Bode plot Fig7. 1 bode plot of system 7.1 Function used 1. plot 2. str2num 3. get 4. set 5.bode 6. tf
  • 24. 24 7.2 Flow chart: step(g) START NUM M DEN G=tf (NUM, DEN) Step(G) Plot is obtained END t=str2num(get (handles.edit1,' string')) t=str2num(get (handles.edit1, 'string'))
  • 25. 25 7.4 Algorithm: 1. For this we have first made GUI, added this push button (NUM, DEN) to which will serve as an input for taking the number through user. 2. We have added static text box for displaying input which is given by user and for showing the result. 3. Here we have used the logic as taking input from user as string it will take as string from the user through button and it will add this string to string which if already present in the static text box . 4. PSUDO CODE FOR THIS IS AS FOLLOW num=str2num(get(handles.edit1,'string')) den=str2num(get(handles.edit2,'string')) g=tf(num,den) bode(g) title('bode graph') grid on xlabel('frequency') ylabel('amplitude') margin(g) set(handles.axes1,'string',p) 7.5 Testing: 1. We are taking the numerator and denominator of the input system from the user and plotting the bode and the gain and phase margin.
  • 26. 26 Chapter 8 Conclusion and future scope The project has been successfully completed by having established the user friendly interface with the help of Matlab GUI tool. It consists of calculator, bode plot, impulse response, step response, convolution of two signals and other basic trigonometric plots. At the same time there is some scope for improvement in the future. It can be possible to make it more users friendly by adding more variety of functions to it. If we are able to introduce user defined functions then it will give user what he wants, that will be ultimate success of our attempts.
  • 27. 27 BIBLIOGRAPHY 1. www.mathworks.com 2. Build GUI 3. Control system by OGATA 4. Signal and system by Ramesh Babu