Kết quả SVG 2021

Nội dung cập nhật 29/01/2021
Các bài mẫu và các bài hướng dẫn thầy đã up lên tại địa chỉ: https://nuce.vn/live
Phần mềm Octave: https://www.gnu.org/software/octave/index
Công cụ Calfem: https://github.com/CALFEM/calfem-matlab
Tài liệu về Matlab: https://nuce.vn/tailieu/matlab.pdf
Tài liệu về PTHH: https://nuce.vn/tailieu/pthh.pdf
Tài liệu cập nhật 21/01/2021: https://nuce.vn/tailieu/pthh2.pdf
Các đoạn code mẫu để tính theo phương pháp PTHH (các em có thể tham khảo sử dụng khi chưa biết Calfem, nếu đã biết sử dụng Calfem thì nội dung này không cần thiết):
% Nhập các vector q, qn, qs tương ứng
q=[1 2 3 7 8 9 7 8 10 4 5 6]; % {q’}
qn=[1 2 3 7 8 9 10 4 5 6]; % {q_ngang}
qs=[7 8 9 10]; % {q*}
% TINH MA TRAN KHU TRUNG LAP
hang=size(q)(2); % Số hàng của ma trận [H]
cot=size(qn)(2); % Số cột của ma trận [H]
H=zeros(hang, cot);
for r=1:hang
for c=1:cot
if q(r)==qn(c)
H(r,c)=1;
endif
endfor
endfor
% TINH MA TRAN DO CUNG
E=20000; A=100; I=800; L=500; % Nhập E, A, I, L vào đây
Ke=[E*A/L 0 0 -E*A/L 0 0;
0 12*E*I/L^3 6*E*I/L^2 0 -12*E*I/L^3 6*E*I/L^2;
0 6*E*I/L^2 4*E*I/L 0 -6*E*I/L^2 2*E*I/L;
-E*A/L 0 0 E*A/L 0 0;
0 -12*E*I/L^3 -6*E*I/L^2 0 12*E*I/L^3 -6*E*I/L^2;
0 6*E*I/L^2 2*E*I/L 0 -6*E*I/L^2 4*E*I/L];
% TINH VEC TO TAI TRONG NUT TUONG DUONG
t=0;p=0;T=360; P=-480; M=0; % Nhap phan bo va luc tap trung vao day
Re1=[t*L/2 p*L/2 p*L^2/12 t*L/2 p*L/2 -p*L^2/12];
Re2=[T/2 P/2-3*M/(2*L) P*L/8-M/4 T/2 P/2+3*M/(2*L) -P*L/8-M/4];
Re=Re1+Re2;
Re=Re’; % Chuyển hàng thành cột
% TINH MA TRAN CHUYEN TRUC TOA DO
g=-acos(4/5); % Nhap goc gama vao day
Te=[ cos(g) sin(g) 0 0 0 0;
-sin(g) cos(g) 0 0 0 0;
0 0 1 0 0 0;
0 0 0 cos(g) sin(g) 0;
0 0 0 -sin(g) cos(g) 0;
0 0 0 0 0 1];
% TINH TRONG HE TOA DO CHUNG
Rep=(Te’)*Re
Kep=Te’*Ke*Te
% KHU SUY BIEN
KichThuocMaTranKs=size(qs)(2);
KichThuocMaTranKn=size(qn)(2);
Ks=zeros(KichThuocMaTranKs) % [K*]
Rs=zeros(1,KichThuocMaTranKs) % [R*]
ViTri=zeros(1,KichThuocMaTranKs); % Tim vi tri hang, cot chinh xac trong [Kn]
for i=1:KichThuocMaTranKs
for j=1:KichThuocMaTranKn
if qs(i)==qn(j)
ViTri(i)=j;
endif
endfor
endfor
for i=1:KichThuocMaTranKs
Rs(i)=Rn(ViTri(i));
for j=1:KichThuocMaTranKs
Ks(i,j)=Kn(ViTri(i),ViTri(j));
endfor
endfor
Lập trình hoàn thiện tính toán cho ví dụ sau:
