はじめに
集中荷重を受ける単純支持はりのせん断力,曲げモーメント,たわみを MATLAB*1・GNU Octave*2 により計算し,SFD,BMD,たわみ曲線をグラフ化する方法について解説する。

概要
集中荷重*3(concentrated load)を受ける単純支持はり*4(simply supported beam)の
- せん断力(shearing force)
- 曲げモーメント(bending moment)
- たわみ(deflection)
を計算する MATLAB・Octave プログラムを作成する。
- せん断力図(SFD : Shearing Force Diagram)
- 曲げモーメント図(BMD : Bending Moment Diagram)
- たわみ曲線(deflection curve)
をグラフとして出力する。
ここで,集中荷重を受ける単純支持はりのモデルを下図に示す。
単純支持はりの長さは l [mm],集中荷重の大きさは P [N] で,はりの支持点 A から a [mm],はりの支持点 B から b [mm] の位置に加えられる。
はりの支持点 A の反力は RA [N],支持点 B の反力は RB [N] とする。
なお,はりの支持点 A を x 軸と y 軸の原点とし,支持点 A から支持点 B へ向かって x 軸,支持点 A から鉛直下向きに向かって y 軸を考える。

集中荷重を受ける単純支持はりのせん断力,曲げモーメント,たわみを求める計算過程,計算により得られたせん断力図,曲げモーメント,たわみ曲線については,[わかりやすい・詳細]等分布荷重を受ける単純支持はりのたわみ【Masassiah Web Site】でわかりやすく,そして詳細に解説する。
プログラムのコード
集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線を計算し,グラフ化する MATLAB(または Octave)のプログラムのコードを以下に示す。
% パラメータの設定
xx=0:1:1000;
ll=1000; %[mm] 単純支持はりの長さ l
aa=600; %[mm] 単純支持はりの左端から集中荷重が働く位置までの距離 a
bb=ll-aa; %[mm] 単純支持はりの右端から集中荷重が働く位置までの距離 b
PP=50; %[N] 集中荷重の大きさ P
EE=200000;%[N/mm2] 縦弾性係数 E
Iz=3000; %[mm4] 断面二次モーメント Iz
Qx=zeros(1,1001);% せん断力 [N]
Mx=zeros(1,1001);% 曲げモーメント [N・mm]
yx=zeros(1,1001);% たわみ [mm]
%反力の計算
RA=bb/ll*PP;
RB=aa/ll*PP;
%せん断力,曲げモーメント,たわみの計算
for x1=0:1:1000;
if x1 < aa
Qx(1,x1+1)=RA;
Mx(1,x1+1)=RA*x1;
yx(1,x1+1)=PP*bb/6/EE/Iz/ll*(-x1^3+aa*(aa+2*bb)*x1);
else
Qx(1,x1+1)=-aa/ll*PP;
Mx(1,x1+1)=aa/ll*(ll-x1)*PP;
yx(1,x1+1)=PP*aa/6/EE/Iz/ll*(-(ll-x1)^3+bb*(2*aa+bb)*(ll-x1));
end
end
# せん断力図
figure(1);plot(xx,Qx);
xlabel('x [mm]');ylabel('shearing force [N]');
# 曲げモーメント図
figure(2);plot(xx,Mx);
xlabel('x [mm]');ylabel('bending moment [N・mm]');
# たわみ曲線
figure(3);plot(xx,yx);
xlabel('x [mm]');ylabel('y [mm]');
設定条件
プログラムでは,集中荷重 50 [N] を受ける長さ 1,000 [mm] の単純支持はりを想定する。
集中荷重は,単純支持はりの左端から 600 [mm] で受ける条件で,せん断力,曲げモーメント,たわみを計算する。
なお,縦弾性係数は 200,000 [N/mm2],断面二次モーメントは 3,000 [mm4] を想定した。
グラフの説明
本プログラムで作成した集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線のグラフを以下に示す。
せん断力図(BMD)
集中荷重を受ける単純支持はりのせん断力図(SFD)を下図に示す。
単純支持はりの左端(x = 0 [mm])から荷重点(x = 600 [mm])までは正,荷重点(x = 600 [mm])から単純支持はりの右端(x = 1,000 [mm])までは負となる。

曲げモーメント図(BMD)
集中荷重を受ける単純支持はりの曲げモーメント図(BMD)を下図に示す。
単純支持はりの左端(x = 0 [mm])から荷重点(x = 600 [mm])までは直線上昇,荷重点(x = 600 [mm])から単純支持はりの右端(x = 1,000 [mm])までは直線下降する。

たわみ曲線
集中荷重を受ける単純支持はりのたわみ曲線を下図に示す。
たわみ曲線は三次関数で表される。
なお,本ケースの場合,たわみが最大となるのは荷重点(x = 600 [mm])ではない。

まとめ
以上のように MATLAB または Octave を使って,集中荷重を受ける単純支持はりの SFD,BMD,たわみ曲線の計算,グラフ化が行える。
参考文献
- 価格: 2860 円
- 楽天で詳細を見る
- 価格: 2970 円
- 楽天で詳細を見る
更新履歴
- 2019年11月15日 新規作成
- 中略
- 2025年1月11日 参考文献を追加
*1:MATLAB は,アメリカ合衆国の MathWorks 社が開発している数値解析ソフトウェアであり,その中で使うプログラミング言語の名称でもある。MATLAB は数値線形代数,関数とデータの可視化,アルゴリズム開発,グラフィカルインターフェイスや他言語とのインターフェイスの機能を有している。
*2:GNU Octave主に数値解析を目的とした高レベルプログラミング言語である。Octave は線形ならびに非線形問題を数値的に解くためのコマンドライン・インタフェースを提供する。また,MATLAB とほぼ互換性のある,数値実験を行うためのプログラミング言語として使用することができる。
*3:部材の 1 点に集中して作用する荷重。
*4:実際には回転することを許容している支持方法で,ピンで支持されている構造。

