0% found this document useful (0 votes)
73 views8 pages

Application: Double T Sectional Characteristics

The document describes a Matlab graphical user interface (GUI) created for calculating properties of a double T cross-section, including: 1) The GUI allows users to input dimensional parameters of the cross-section and displays calculated values such as height, centroid, and moments of inertia. 2) The underlying code uses the input values to calculate cross-section properties and displays the results on the GUI. 3) Creating the GUI makes the Matlab code more user-friendly and allows easier manipulation of input values compared to a non-GUI program.

Uploaded by

Alin Negară
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views8 pages

Application: Double T Sectional Characteristics

The document describes a Matlab graphical user interface (GUI) created for calculating properties of a double T cross-section, including: 1) The GUI allows users to input dimensional parameters of the cross-section and displays calculated values such as height, centroid, and moments of inertia. 2) The underlying code uses the input values to calculate cross-section properties and displays the results on the GUI. 3) Creating the GUI makes the Matlab code more user-friendly and allows easier manipulation of input values compared to a non-GUI program.

Uploaded by

Alin Negară
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

”Gheorghe Asachi” Technical University of Iași

Faculty of Civil Engineering and Building Services


Academic master program: Structural Engineering
Topic: Advanced Earthquake Engineering
Professor Fideliu Păuleț-Crăiniceanu, Ph.D.
Theme: Matlab language use and Graphic User Interfaces (G.U.I.)
Academic year: 2019-2020, IInd semester.

Application
double T sectional characteristics

Problem statement
Be a double T section, symmetrical on
vertical direction. Calculate the moments of
inertia of this section on vertical and
horizontal axes directions.

Analysis
The section is divided into three rectangles
(upper flange, web and lower flange)
denoted as number 1, 2 and 3. Then the
next must be calculated:
 Area of each rectangle
A1=bts∗hts ; A2=bi∗hi; A3 =bti∗h ti
 Total area
At = A1 + A2 + A3
Center of gravity (on vertical direction)
3
hts hi A 3∗h ti
∑ Ai yi
y g= i=1 =
(
A 1∗
2 ) ( )
+h i+ hti + A2∗ + hti +
2 2
At At
 Moment of inertia for each rectangle
bts∗h ts3 b ∗h 3 b ∗h 3
I x 1= ; I x 2= i i ; I x 3= ti ti
12 12 12
3 3
hts∗bts h ∗b h ∗b 3
I y 1= ; I y 2= i i ; I y 3= ti ti
12 12 12
 Moment of inertia on x direction
hts 2
(
I xg =I x 1+ A 1∗ H− y g−
2
+¿ )
hi 2 2
h
(
+ I x 2 + A 2∗ H− y g−hts −
2 ) (
+ I x3 + A 3∗ y g− ti
2 )
 Moment of inertia on y direction
I yg=I y 1 + I y2 + I y 3

1/8
2/8
The computer program (Matlab script)
 For the Graphical User Interface, the next Matlab program was generated and
processed, doublet1.m
function varargout = doublet1(varargin)
% Last Modified by GUIDE v2.5 04-Mar-2020 14:50:10
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @doublet1_OpeningFcn, ...
'gui_OutputFcn', @doublet1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

function doublet1_OpeningFcn(hObject, eventdata, handles, varargin)


handles.output = hObject;
guidata(hObject, handles);
% image
axes(handles.axes1)
mim=imread('dt1.png');
hdl1=image(mim);
axis off
% image
proc(handles)

function varargout = doublet1_OutputFcn(hObject, eventdata, handles)


varargout{1} = handles.output;

function axes1_CreateFcn(hObject, eventdata, handles)

function edit1_Callback(hObject, eventdata, handles)


proc(handles)

function edit1_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit2_Callback(hObject, eventdata, handles)

3/8
proc(handles)

function edit2_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit3_Callback(hObject, eventdata, handles)


proc(handles)

function edit3_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit4_Callback(hObject, eventdata, handles)


proc(handles)

function edit4_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit5_Callback(hObject, eventdata, handles)


proc(handles)

function edit5_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit6_Callback(hObject, eventdata, handles)


proc(handles)

function edit6_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function pushbutton1_Callback(hObject, eventdata, handles)


close
 The Matlab function used for input data, intermediate calculations and output
data (on GUI) processing
function proc(handles)
disp('data process')
[bts,ok1]=str2num(get(handles.edit1,'String'));
[bi,ok2]=str2num(get(handles.edit2,'String'));
[bti,ok3]=str2num(get(handles.edit3,'String'));
[hts,ok4]=str2num(get(handles.edit4,'String'));
[hi,ok5]=str2num(get(handles.edit5,'String'));

4/8
[hti,ok6]=str2num(get(handles.edit6,'String'));
if (ok1*ok2*ok3*ok4*ok5*ok6==0) | ...
bts<=0 | bi<=0 | bti<=0 | hts<=0 | hi<=0 | hti<=0
set(handles.text8,'String','Wrong input data!')
else
set(handles.text8,'String','Good input data!')
H=hts+hi+hti; set(handles.text10,'String',num2str(H))
A1=bts*hts; A2=bi*hi; A3=bti*hti; At=A1+A2+A3;
yg=(A1*(hts/2+hi+hti)+A2*(hi/2+hti)+A3*hti/2)/At;
set(handles.text12,'String',num2str(yg))
Ix1=bts*hts^3/12; Ix2=bi*hi^3/12;
Ix3=bti*hti^3/12;
Ixg=Ix1+A1*(H-yg-hts/2)^2+Ix2+A2*(H-yg-hts-
hi/2)^2+...
Ix3+A3*(yg-hti/2)^2;
set(handles.text14,'String',num2str(Ixg))
Iy1=hts*bts^3/12; Iy2=hi*bi^3/12;
Iy3=hti*bti^3/12;
Iyg=Iy1+Iy2+Iy3;
set(handles.text16,'String',num2str(Iyg))
end
 GUI design
The GUI is composed from (see also the ”Object
Browser” capture):
- title ”Section Characteristics” (text7)
- drawing space (axes1)
- ”Input data” panel (uipanel1) containing
- text1 (”bts”) and edit1 for the value
- text2 (”bi”) and edit2 for the value
- text3 (”bti”) and edit3 for the value
- text4 (”hts”) and edit4 for the value
- text5 (”hi”) and edit5 for the value
- text6 (”hti”) and edit6 for the value
- ”!” panel (uipanel2) containing
- text8 (”messages”) for warnings on data
-”Results” panel (uipanel4) containing
- text9 (”H=”) and text10 for the value
- text11 (”yg=”) and text12 for the value
- text13 (”Ixg=”) and text14 for the value
- text15 (”Iyg=”) and text16 for the value
- pushbutton1 (”final”) for closing the GUI.

5/8
Results
 At the starting point, the GUI shows as

6/8
 In the case of wrong or incomplete data, the GUI might look as:

 Next results are shown as examples of use:

The first result is the case for a common double T section, while the second case is used for verifications
purposes (i.e. the section is actually a square with edges lengths equal to 3).

Comments
 Using Graphical User Interfaces, GUIs, makes the product (Matalab script) to be
easier to manipulate and the input data easier to use and change, if needed. Results
are clearly shown and more systematic.
 The drawing inside the GUI presents the physical parameters (input data) – in this
case, the elements of the double T section, the dimensions and the notations are
seen.
 Through the time dedicated for GUI realization, a more friendly computer
program is obtained. This program could be passed for use of Matlab non-
experienced programmers and could be later modified for other purposes.
 Use of GUIs might be proposed for adapting existing, classical Matlab programs
(without GUIs) in order to open them to a larger range of users.

7/8
Note the figure included in the GUI
 The initial drawing from the Graphical User Interface (GUI) above was realized
in MS Word (see the file DubT.docx).
 At the end of the above drawing, all the elements of the drawing had been
grouped and its dimensions had been noticed.
 Then, Word’s page dimensions had been reduced (with 0 margins) such a way
that the already created drawing could fill in a square page. Any other
proportions between the page’s dimensions could be chosen. This proportion
should be later respected in the axes1 object of the GUI. – see the file
DubT2.docx.
 The file DubT2.docx is saved in the pdf format (DubT2.pdf).
 The pdf file, DubT2.pdf, is open with (for example) Adobe Reader and the
image is selected.
 Optionally, in Adobe Reader, the figure resolution can be changed (with
zoom) and it is copied (CTRL/C).
 MS Paint (or any other image editor) is open and the image copied from the
pdf file is transferred to it (CTRL/V).
 From Paint the image is saved in a chosen format, for example png – see the
file dt1.png.

8/8

You might also like