How to make a shear force diagram (SFD) and bending moment diagram (BMD) using Matlab?
    조회 수: 68 (최근 30일)
  
       이전 댓글 표시
    
I am very confused on how to use a written problem and convert it in order to find the SFD and the BMD using Matlab. I tried looking at many Youtube videos, but coudln't figure it out.
This is the problem I used:


= 

=  -----EQ.1
       -----EQ.1
 -----EQ.1
       -----EQ.1

= (input into EQ.1)
  (input into EQ.1)
 (input into EQ.1)
  (input into EQ.1)Ans:

To find x:
36.5kN=8(x)
x = 4.56
Shear Force Diagram:
AB:  

BC: 

Bending Moment Diagram:
AB: 

BC: 

This is the program I am using. My professor want us to use this program. 
function main
  %first, we generate the domain and number of points for plotting
  xmin = 0;  %Starting Length of the beam?%
  xmax = 8; %Length of the beam?%
  npt = 4.5625;  
  x = linspace(xmin, xmax, npt);
  A1  = 39.5; 
  C1 = 36.5;
  %NOW, ENTER YOUR DESIRED M(x) RELATION HERE:
  %----------------------------------------------------
  V = A1-8(x);
  M = A1(x)-8(x)(x/2);
  %----------------------------------------------------
  % the following to the rest will automatically plot your M and V
  figure(1);
  plot(x, M, 'k--');
  xlabel('x');
  ylabel('M(x)');
  figure(2);
  V = diff(M)./diff(x);
  plot(x(2:end), V, 'b-.');
  xlabel('x');
  ylabel('V(x)');
  % done
end
%The following function, tells the dumb computer about our structural 
% definition of the Heaviside function 
function out = hevi(x)
  out = zeros(size(x));
  for i=1:length(x)
    if ( x(i) >= 0.)
      out(i) = x(i);
    else
      out(i) = 0.;
    end
  end
end
댓글 수: 0
답변 (1개)
  P
 2023년 4월 28일
        clear ALL
clc
disp('Simply Supported Beam');
disp(' ');
L = input('Length of beam in meter = ');
disp(' ');disp('Type 1 for point load, Type 2 for udl')
Type = input('Load case = ');
if Type == 1
disp(' ');
W = input('Load applied in kN = ');
disp(' ');
a = input('Location of Load from left end of the beam in meter = ');
c = L-a;
R1 = W*(L-a)/L;
R2 = W*a/L;
else
disp(' ');
W = input('Uniformly distributed load in kN/m = ');
disp(' ');
b = input('Length of udl in meter = ');
disp(' ');
cg = input('C.G of udl from left end of the beam in meter = ');
a = (cg-b/2);
c = L-a-b;
R1 = W*b*(b+2*c)/(2*L); 
R2 = W*b*(b+2*a)/(2*L); 
end
n = 1000;
delta_x = L/n;
x = (0:delta_x:L)'; 
V = zeros(size(x, 1), 1); 
M = zeros(size(x, 1), 1); 
if Type == 1
for ii = 1:n+1
V(ii) = R1;
M(ii) = R1*x(ii);
if x(ii) >= a
V(ii) = R1-W;
M(ii) = R1*x(ii)-W*(x(ii)-a);
end
end
x1 = a;
Mmax = W*a*(L-a)/L;
else
for ii = 1:n+1
if x(ii) < a
V(ii) = R1;
M(ii) = R1*x(ii);
elseif a <= x(ii) && x(ii)< a+b
V(ii) = R1-W*(x(ii)-a);
M(ii) = R1*x(ii)-W*((x(ii)-a)^2)/2;
elseif x(ii) >= (a+b)
V(ii) = -R2;
M(ii) = R2*(L-x(ii));
end
end
x1 = a+b*(b+2*c)/(2*L);
Mmax = W*b*(b+2*c)*(4*a*L+2*b*c+b^2)/(8*L^2);
end 
subplot(2,1,1);
plot(x, V, 'b-', 'LineWidth', 2);
title('Shear Force Diagram');
xlabel('Position (m)');
ylabel('Shear Force (N)');
grid on;
subplot(2,1,2);
plot(x, M, 'r-', 'LineWidth', 2);
title('Bending Moment Diagram');
xlabel('Position (m)');
ylabel('Bending Moment (N.m)');
grid on;
댓글 수: 0
참고 항목
카테고리
				Help Center 및 File Exchange에서 Number Theory에 대해 자세히 알아보기
			
	제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

