3.4.1. Biểu đồ nội lực
Hình 3.10. Biểu đồ nội lực của hệ trục theoNK
3.4.2. Tải trọng gối đỡ
3.4.3. Ma trận hệ số ảnh hưởng
Bảng 3.3: Bảng ma trận hệ số ảnh hưởng
3.5. SO SÁNH VÀ THẢO LUẬN
Qua tính tốn bằng các chương trình khác nhau, ta cĩ các bảng sau:
Bảng 3.4: So sánh kết quả tính phản lực tại các ổ đỡ khi dịch chỉnh ổ đỡ 1 (mm)
Bảng 3.5: So sánh kết quả tính mơ men uốn, lực cắt và độ võng lớn nhất
Đại lượng Chương trình RDM NK
Mơ men uốn lớn nhất (N.m) 1,072643e+6 1,073002e+6 1,033459e+6 Lực cắt lớn nhất (N) 6,95992e+5 6,96393e+5 7,24091e+5
Qua so sánh với kết quả tính theo RDM và NK ta thấy:
- Phản lực gối đỡ lớn nhất theo chương trình cĩ lệch so với RDM là 0,083%, và NK là 0,088%. Phản lực gối đỡ nhỏ nhất theo trình cĩ lệch so với RDM là 0,22%, và NK là 0,72%. Ta thấy sự sai lệch kết quả của chương trình tính với RDM là rất nhỏ, cịn với NKK thì sự sai lệch lớn hơn. Tuy nhiên với sự sai lệch kết quả giữa các chương trình khi tính phản lực gối đỡ vẫn cĩ thể áp dụng được.
- Kết quả tính mơ men uốn lớn nhất theo chương trình cĩ sai lệch 0,03% so với RDM, với NK là 0,37%. Khi tính lực cắt lớn nhất theo chương trình cĩ sai lệch 0,05%, với NK là 0,89%. và độ võng lớn nhất theo chương trình cĩ sai lệch 0,07%, với NK là 0,20%. Rõ ràng chương trình tính cĩ kết quả sai lệch rất nhỏ so với kết quả từ RDM nhưng với NK kết quả cĩ sai lệch lớn. Điều này cĩ thể lý giải như sau: Kết quả tính của NK sử dụng đơn vị khác với đơn vị của chương trình khi qui đổi sẽ cĩ sai số. Khi mơ hình hĩa trục khuỷu thành dầm tương đương mặc dù cĩ sử dụng cùng cơng thức tính nhưng vẫn cĩ sự sai lệch về kết quả. Ngồi ra, về phần giải thuật lập trình khi tính tốn cĩ sự tương đương nên cũng khơng tránh khỏi sai số. Mặc dù cĩ sự sai số nhưng sét về tính chất quan trọng của các kết quả tính nhằm phục vụ cho việc thiết kế định tâm thì chủ yếu quan tâm đến áp lực gối đỡ lớn nhất và mơ men uốn lớn nhất. Khi đĩ, sai lệch giữa các kết quả trên từ hai chương trình khơng lớn cĩ thể áp dụng được. Kết luận kết quả tính của chương trình là tin cậy
CHƯƠNG 4: KẾT LUẬN VÀ ĐỀ XUẤT Ý KIẾN
4.1. KẾT LUẬN
Định tâm hệ trục tàu trọng tải lớn là một cơng đoạn quan trọng và phức tạp trong quá trình lắp đặt hệ trục tàụ Nĩ địi hỏi nhiều tính tốn phức tạp và kinh nghiệm của người thợ và điều kiện mơi trường lắp đặt. Qua thời gian nghiên cứu lựa chọn, xây dựng mơ hình tính và chương trình tính phục vụ thiết kế định tâm hệ trục tàu hàng trọng tải lớn, xin đưa ra một số kết luận:
1. Đã xây dựng được mơ hình hĩa hệ trục tàu hàng trọng tải lớn cĩ ưu tiên trong lập trình.
2. Đã xây dựng được giải thuật tính chuyển vị, nội lực, ma trận hệ số ảnh hưởng và phản lực gối đỡ khi cĩ chuyển vị cưỡng bức.
3. Đã xây dựng được chương trình cho phép tính được và xuất ra được kết quả chuyển vị, nội lực của hệ trục, biểu đồ nội lực, ma trận hệ số ảnh hưởng và phản lực gối đỡ khi cĩ chuyển vị cưỡng bức. Chương trình thực hiện đồng thời nhiều bài tốn theo phương phương pháp phần tử hữu hạn mà khơng thực hiện đơn lẽ từng bài như các chương trình phân tích kết cấu thơng thường. Trong các kết quả tính của chương trình cĩ bảng ma trận hệ số ảnh hưởng, nĩ là căn cứ để người thiết kế cũng như người thợ sử dụng vào việc định tâm và lắp đặt hệ trục tàu trọng tải lớn.
4.2. ĐỀ XUẤT Ý KIẾN.
1. Khi lựa chọn mơ hình hệ trục tàu khơng tránh khỏi những sai số đặc biệt là mơ hình dầm tương đương của trục khuỷu nên cần nghiên cứu xác định mơ hình phù hợp hơn.
2. Trong quá trình xây dựng chương trình tính chỉ là một cơng đoạn trong quá trình lắp đặt hệ trục, chương trình chỉ mới được thực hiện lần đầu khơng tránh những sai sĩt. Do đĩ cần phải phát triển chương trình thồn thiện, nhằm phục vụ quá trình định tâm hệ trục như yêu cầu của Đăng kiểm.
3. Nghiên cứu tối ưu hĩa vị trí gối đỡ trung gian, mơ hình các gối đàn hồi (thay vì cứng như trong đề tài), trong các điều kiện gần thực tế hơn.
TÀI LIỆU THAM KHẢO
1. Chu Quốc Thắng, (1997), Phương pháp phần tử hữu hạn, NXB Khoa học và Kỹ thuật, Hà Nộị
2. Đặng Xuân Phương, (2003), Nghiên cứu phương pháp tính tốn, kiểm tra dao động xoắn hệ động lực tàu đánh cá cỡ nhỏ, Luận văn thạc sĩ kỹ thuật Tàu thủy, Trường Đại học Nha Trang, Nha Trang.
3. Nguyễn Đăng Cường (1998), Thiết kế và lắp ráp thiết bị tàu thủy, NXB Khoa học và Kỹ thuật, Hà Nộị
4. Nguyễn Ngọc Quỳnh, Hồ Thuần, (1978), Ứng dụng ma trận trong kỹ thuật, NXB Khoa học và Kỹ thuật, Hà Nộị
5. Nguyễn Quốc Bảo, Trần Nhất Dũng, (2002), Phương pháp phần tử hửu hạn lý thuyết và lập trình tập 1, NXB Khoa học và Kỹ thuật, Hà Nộị
6. Quách Hồi Nam, (2010), Hướng dẫn sử dụng phần mềm phần tử hữu hạn RDM,
Trường Đại học Nha Trang, Nha Trang.
7. Quách Hồi Nam (2010), Phương pháp phần tử hữu hạn, Trường Đại học Nha Trang, Nha Trang.
8. Trần Ích Thịnh, Ngơ Như Khoa (2007), Phương pháp phần tử hữu hạn, Đại học Bách Khoa Hà Nội, Hà Nộị
9. ẠJ.M. Ferreira, (2009), Matlab Codes for Finite Element Analysis, Springer science+Bussiness Media B.V, Universidade do Porto, Portugal.
10. American Bureau of Shipping, (2006), Guidane Notes on Propulsion Shafting Alignment, American Bureau of Shipping Incorporated by Act of Legislature of the State of New York
11. ClassNK, (2006), Guidelines on Shafting Alignment, Machinery Department,
Nippon Kaiji Kyokal, Japan.
12. Kwon and Bang, (1997), The Finite Element Method using MATLAB, CRC Mechanical Engineering series, University Minnesota, The United States of Americạ
14. P-Eaustrell, O-Dahlblom, J-Lindemann, A-Olsson, K-Golsson, (1999), Calfem-A Finite Element Toolbox Version 3.4, Printed by JABE Offset, Lund, Sweden, Structural Mechanics, LTH, Sweden.
15. Peter Ị Kattan (2008), MATLAB Guide to Finite Elements, Springer-Verlag, Berlin.
1
PHỤ LỤC
CHƯƠNG TRÌNH TÍNH PHỤC VỤ THIẾT KẾ ĐỊNH TÂM HỆ TRỤC TÀU HÀNG TRỌNG TẢI LỚN SỬ DỤNG PHẦN MỀM MATLAB
1. Chương trình chính:
function varargout = Chuongtrinhtinh(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1;
gui_State = struct('gui_Namé, mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Chuongtrinhtinh_OpeningFcn, ... 'gui_OutputFcn', @Chuongtrinhtinh_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_Statẹgui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function Chuongtrinhtinh_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for Chuongtrinhtinh
handles.output = hObject; % Update handles structure guidatăhObject, handles); varargout{1} = handles.output;
% Choose default command line output for untitled handles.output = hObject;
% Update handles structure guidatăhObject, handles);
% --- function O_Callback(hObject, eventdata, handles)
filename, pathname] = uigetfile('*.fig', 'Choose the GUI settings file to load'); %construct the path name of the file to be loaded
loadDataName = fullfile(pathname,filename);
%this is the gui that will be closed once we load the new settings theCurrentGUI = gcf;
%load the settings, which creates a new gui hgload(loadDataName);
% --- function S_Callback(hObject, eventdata, handles)
[filename,pathname] = uiputfile('default','Save your GUI settings');
if pathname == 0 %if the user pressed cancelled, then we exit this callback return
end
%construct the path name of the save location saveDataName = fullfile(pathname,filename); %saves the gui data
2
hgsave(saveDataName);
% --- function E_Callback(hObject, eventdata, handles)
close
function nt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function dn_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function dt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function xx_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function cvg_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function ee_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function kl_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function bnpt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function vtg_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function pt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
3
set(hObject,'BackgroundColor','whité); end
function npt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function TH_Callback(hObject, eventdata, handles)
selection = questdlg(['Close ' get(handles.figure1,'Namé) '?'],... ['Close ' get(handles.figure1,'Namé) '...'],... 'Yes','Nĩ,'Yes'); if strcmp(selection,'Nĩ) return; end delete(handles.figure1)
% --- Executes on button press in lkq.
function lkq_Callback(hObject, eventdata, handles) function th_Callback(hObject, eventdata, handles) set(handles.xx,'String','0'); set(handles.dt,'String','0'); set(handles.dn,'String','0'); set(handles.vtg,'String','0'); set(handles.cvg,'String','0'); set(handles.pt,'String','0'); set(handles.bnpt,'String','0'); set(handles.kl,'String','0'); set(handles.nt,'String','0'); set(handles.npt,'String','0'); set(handles.ee,'String','0');
% --- Executes on button press in XXNN.
function XXNN_Callback(hObject, eventdata, handles) x=str2num(get(handles.xx,'String')); Dttr=str2num(get(handles.dt,'String')); Dntr=str2num(get(handles.dn,'String')); Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); E=str2num(get(handles.ee,'String'));
msgbox('Ban da nhap xong thong so he truc','thong baĩ,'help') function tdv_Callback(hObject, eventdata, handles)
% hObject handle to tdv (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Lk global lk global dj global B global t global v
4 global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); E=str2num(get(handles.ee,'String')); Cvi=chuyenvi(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=Cvi
cnames = {'THU TÚ,'NUT','CHUYEN VI (mm)'}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function tgx_Callback(hObject, eventdata, handles) global Lk global lk global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); E=str2num(get(handles.ee,'String')); Gx=gocxoay(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=Gx
cnames = {'THU TÚ,'NUT','GOC XOAY (rad)'}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function tpl_Callback(hObject, eventdata, handles) global Lk
global lk global dj global B
5 global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); E=str2num(get(handles.ee,'String')); AL=TinhPL(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=AL
cnames = {'THU TÚ,'GOÍ,'AP LUC GOI (MN)'}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function tlc_Callback(hObject, eventdata, handles) global Lk global lk global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); E=str2num(get(handles.ee,'String')); Q=Luccat(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=Q
cnames = {'THU TÚ,'PHAN TÚ,'LUC CAT NUT-i (MN)','LUC CAT NUT-j (MN)'}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function tmm_Callback(hObject, eventdata, handles) global Lk
6 global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); valbcdof=str2num(get(handles.cvg,'String')); E=str2num(get(handles.ee,'String')); M=Momen(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=M
cnames = {'THU TÚ,'PHAN TÚ,'MO MEN NUT-i(MN.m)','MO MEN NUT-j (MN.m)'}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function mths_Callback(hObject, eventdata, handles) global Lk global lk global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); valbcdof=str2num(get(handles.cvg,'String')); E=str2num(get(handles.ee,'String')); A=Heso(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) A=A format long; A
cnames= {'Thu tú,'Vi tri goí,'Chuyen ví,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,...
7
'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
function plcb_Callback(hObject, eventdata, handles) global Lk global lk global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); valbcdof=str2num(get(handles.cvg,'String')); E=str2num(get(handles.ee,'String')); ASao=PLcb(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof,valbcdof) A=ASao format long; A
cnames= {'Thu tú,'Vi tri goí,'Chuyen ví,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,... 'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ,'PHAN LUC GOÍ}; t=uitable(handles.uitable3)
set(t, 'Datá, A);
set(t,'ColumnNamé,cnames)
8 global Lk global lk global dj global B global t global v global r x=str2num(get(handles.xx,'String')); x=x/1000 Dttr=str2num(get(handles.dt,'String')); Dttr=Dttr/1000 Dntr=str2num(get(handles.dn,'String')); Dntr=Dntr/1000 Qt=str2num(get(handles.kl,'String')); ntai=str2num(get(handles.nt,'String')); nel=str2num(get(handles.pt,'String')); nnel=str2num(get(handles.npt,'String')); ndof=str2num(get(handles.bnpt,'String')); bcdof=str2num(get(handles.vtg,'String')); valbcdof=str2num(get(handles.cvg,'String')); E=str2num(get(handles.ee,'String')); [v,Q,M]=dothi(E,Qt,Lk,lk,dj,t,B,v,r,Dntr,Dttr,x,ntai,nel,nnel,ndof,bcdof) function GT_Callback(hObject, eventdata, handles)% hObject handle to GT About
function TK_Callback(hObject, eventdata, handles) Thongsotruckhuyu
function pushbutton56_Callback(hObject, eventdata, handles) function ht_CreateFcn(hObject, eventdata, handles)
global ht
imshow('E:\My Datas\Detai\MATLAB\MATLAB\LTrinh\Chuong trinh\hetructaụjpg')
2. Chương trình nhập thơng số trục khuỷu tương đương
function varargout = Thongsotruckhuyu(varargin) gui_Singleton = 1;
gui_State = struct('gui_Namé, mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Thongsotruckhuyu_OpeningFcn, ... 'gui_OutputFcn', @Thongsotruckhuyu_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_Statẹgui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function Thongsotruckhuyu_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for Thongsotruckhuyu
9
guidatăhObject, handles);
% --- Outputs from this function are returned to the command linẹ
function varargout = Thongsotruckhuyu_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
% --- function S_Callback(hObject, eventdata, handles)
[filename,pathname] = uiputfile('default','Save your GUI settings');
if pathname == 0 %if the user pressed cancelled, then we exit this callback return
end
%construct the path name of the save location saveDataName = fullfile(pathname,filename); %saves the gui data
hgsave(saveDataName);
function tk_ButtonDownFcn(hObject, eventdata, handles)
imshow('E:\My Datas\Detai\MATLAB\MATLAB\LTrinh\Chuong trinh\truckhuyụjpg') function NL_Callback(hObject, eventdata, handles)
set(handles.LL,'String','0'); set(handles.ln,'String','0'); set(handles.đ,'String','0'); set(handles.bb,'String','0'); set(handles.tt,'String','0'); set(handles.vv,'String','0'); set(handles.rr,'String','0');
function rr_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function XNT_Callback(hObject, eventdata, handles) global Lk Lk=str2num(get(handles.LL,'string')); global lk lk=str2num(get(handles.ln,'string')); global dj dj=str2num(get(handles.đ,'string')); global B B=str2num(get(handles.bb,'string')); global t t=str2num(get(handles.tt,'string')); global v v=str2num(get(handles.vv,'string')); global r r=str2num(get(handles.rr,'string'));
if ((Lk) && (lk) && (t) && (B) && (dj) && (v) && (r))==0 msgbox('Ban can nhap du lieú,'Thong baĩ,'help')
end
if ((lk>=Lk) && (B<=dj) && (t>=B) && (r<=dj)) msgbox('Ban xem lai du lieu da nhap','thong baĩ,'help') end
close
10
function tt_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function bb_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function vv_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function LL_CreateFcn(hObject, eventdata, handles) % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
function ln_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
% --- Executes during object creation, after setting all properties. function đ_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','whité); end
% --- function O_Callback(hObject, eventdata, handles)
[filename, pathname] = uigetfile('*.fig', 'Choose the GUI settings file to load'); loadDataName = fullfile(pathname,filename);
%this is the gui that will be closed once we load the new settings theCurrentGUI = gcf;
%load the settings, which creates a new gui hgload(loadDataName); 3. Các hàm liên quan: 3.1. Hàm tính ma trận độ cứng phần tử ke: function [k]=febeam(el,xi,leng) %---