|
本帖最后由 獨(dú)孤峰yi 于 2013-5-21 11:13 編輯 1 ^% L. c# Y+ X4 D5 t
' U7 G1 F$ s+ G' H& g0 ]! @
材料力學(xué)課程設(shè)計(jì)《左端外伸梁的剪力與彎矩圖》,由于沒(méi)有matlab基礎(chǔ),早上七點(diǎn)半糾結(jié)到現(xiàn)在實(shí)在是hold不住了。我在書(shū)上找到了例題有正確答案卻不知如和用程序表達(dá)。以下是題和我寫的程序,不知道哪里錯(cuò)了,希望了解的能幫幫我,謝謝啊!
; _# {8 T$ H9 [% V( Y3 `' I7 I' l題:
7 Q7 Y/ J! x2 r+ R& t" x: m如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖
8 ?6 [0 ~6 Z" C主程序:
: l7 q9 ^: P* `" aclear;5 @: r' m- ]6 y
clc;+ B; H# D6 P6 i$ h5 R0 p4 I
L1=2;7 S: I5 D; D3 [, O- E
x=[0,2,10,12];( j3 |) s& H4 @7 u
MPQ = [2 20 0 05 o% ]5 s# C" l2 r
3 20 0 102 K( n8 G) `8 X2 K# |
1 160 10 0];
+ J" D4 S0 a$ s/ V( F6 l$ O3 pXQM=QMZW(x,L1,MPQ);4 x# Y" ], I/ l) U, x V3 l
第一子程序:
0 X ^% T# s" @2 ~, B: v3 \ N2 Sfunction XQM=QMZW(x,L1,MPQ)5 l- H' o7 L) ?, d4 T
[n,m]=size(x);
7 A$ C+ z( w: Y* B; z7 y L=x(m);1 s. I9 P" X$ V( _7 X I9 \6 m! g9 @
L1=2;$ M; U. M$ D* U: K$ a' g& {
x1=[];
3 L1 V, O, [7 B. w; } for i = 1: m-1
/ y+ x8 Z7 k1 T( a7 E x1 = [x1,linspace(x(i),x(i+1),50)];+ c$ l" d; F4 M; c& g; v5 |
end $ q8 Q5 G' Y I( k4 `
MM = zeros(size(x1)); Q& d$ e+ y6 j0 X: L
QQ = zeros(size(x1));
, y" p; `3 `2 o [m,t] = size(MPQ);" S, ?, u. L; b' t) w' m. E
[t,n] = size(x1);" Y& `; U0 [2 V& Q- N2 }$ O3 U7 f
for i=1:m
, h, d' A% |! f% d- E switch MPQ(i,1)
7 Z b4 C+ A i0 x+ acase 1
6 I) I& {" n' Z$ I4 D+ Z a=MPQ(i,3);/ E1 y( _2 n: S; N- j) q1 |
M=MPQ(i,2);: ], c% Z" ]% s3 p# \5 H7 w7 m
RA=M/(L-L1);
7 v5 G) v4 b: K RB=-RA;4 q7 c5 m' v5 {, |! {4 {
QQ=QQ+RA;
, _; l5 H" H/ [! T1 H: l5 h MM=MM+RA*x1;' s; ?% N: @% E- w$ H/ O2 S
if a>= 0&&a<L
7 b; [, d9 y; j; i' _, P9 y" G MM=QMM(n,x1,a,M,MM); $ o! T# Y7 z: Z2 H
end' I w2 |& H+ E2 B5 [( D
if a==0
J' n7 o- Y9 D. _# X MM=MM+M;
" @# z& D5 [& ^9 N end 3 S$ ]2 h! P3 t4 i7 y
[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
) U7 @9 |% G( H. G case 2
6 E- S1 i% @& t& i, I P=MPQ(i,2);
' S) Z( d& T. \0 z: }$ h: [0 C( V0 A b=MPQ(i,3);
5 K- w5 T) \$ u6 B RA=P*(L-b)/(L-L1);
6 ^6 V' ?4 i& ?3 @ RB=P+P*(L-b)/(L-L1);9 K0 C% i( r# W
QQ=QQ+RA;7 s' L# b1 ?6 k
MM=MM+RA*x1;$ L2 R) y: ~8 Q8 Y/ u9 M- R6 Y+ z
if b>0&&b<L: Y: a3 E& C: y- E- Q5 ~
[QQ,MM]=QMP(n,x1,b,P,QQ,MM);
8 C) m% }1 \( d0 x. P0 e end
2 [- n* o/ p. L) K [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
& U$ B9 w B" C% d# Icase 3
5 W# b1 C6 E$ Y1 C1 F# j$ Y! m q=MPQ(i,2);
& M7 Z5 ^, r1 X c=MPQ(i,3);) m) u' D5 t0 w c! y3 p
d=MPQ(i,4);5 G8 T: X: g: A, m
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);/ @+ w; X4 G1 _( k9 g! C7 v
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);# b* x' }8 S) K- @; p
QQ=QQ+RA;! m% B5 L- P! z7 z" [" {9 F5 N
MM=MM+RA*x1;
. [& g8 G- B3 C, d! c0 s% d7 t2 D [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM); % q6 z5 ?7 Y0 j) @6 I
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);+ P$ ~$ t" W( |- ^! I3 L
end5 a# P9 v8 Y+ E; E* x
end/ o9 _0 Y Y3 R3 {4 |1 Q: L9 f$ z4 ?0 c
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); 5 i7 _3 C8 d! m, P* k
TU_QM(x1,QQ,MM); 0 ], I9 X2 ~% I J
第二子程序:
( \6 `$ B/ L( k6 {function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)! q7 c5 b' y7 t4 K6 V
XQM=[x1',QQ',MM'];
) [3 K. @, }1 ], v4 ~[Qmax,i]=max(QQ);
/ v; q$ y# S m! eQ1=[x1(i),Qmax];# c8 [1 y# k) s. x
[Qmin,i]=min(QQ);6 @7 \ i6 X" w$ \3 v8 ~" ?
Q2=[x1(i),Qmin];( x4 E: f( \/ P, u
[Mmax,i]=max(MM);2 K! x& S h! L: c
M1=[x1(i),Mmax];) B/ p9 m# `' A
[Mmin,i]=min(MM);
( t* E" m! w3 x% \* eM2=[x1(i),Mmin];7 `9 r7 H0 K5 \' x* m9 w' }: ]
QDX=[Q1;Q2]* z- h% f- n* ]3 ` Y
MDX=[M1;M2]+ G& @; Q' M5 q* b' A: V+ W
第三子程序:
/ K8 P5 w- |: H- Qfunction MM=QMM(n,x1,a,M,MM)
5 k/ h( o# L( ~( ^/ C0 g! y9 h' }for j=1:n: d9 Q# p& q' |2 W+ \3 f& s' \' x
if x1(j)==a
! d+ g: C: E- y n1=j;" \5 T3 Q* d7 v# G: b
end) Y# n4 z9 F) W9 g5 w# D- r9 `( E6 ?9 X
end2 ~( }, h1 L( P1 T: p" T' h I
MM(n1:n)=MM(n1:n)+M;
7 ?9 y$ U4 {1 `/ X, i) y第四子程序:6 a: I" N/ b: k- ?
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
; @/ K# P! g# n" ~" l! w/ ~1 mfor j=1:n% [. [+ Z3 @( \$ Q1 \* o% s
if x1(j)==b
' h9 v% m+ Z: X# C n1=j;( ` m5 S( s& K1 t3 \) O# d. ?
end
& y# [4 G0 ?3 ~5 ^end
5 w, R" D. G- `QQ(n1:n)=QQ(n1:n)-P;( L* j3 D+ Y) ~6 ]
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
2 ]" N1 y/ c" u/ f2 T( U7 a h& g第五子程序:
9 D6 k; `' G+ x: r1 O" qfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)+ ~+ Q" H- }' j
for j=1:n
, Y& ~/ ~% |! U" T$ _$ f if x1(j)>c
2 P1 _! a2 m) p# B, |+ G3 z k8 i QQ(j)=QQ(j)-q*(x1(j)-c);
) M- C5 ]3 n1 A9 { MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;: t( e* T- t0 `; c) s+ M
end
; U' B: |' s+ k, m if x1(j)>d
% N3 c6 I4 J6 {0 z QQ(j)=QQ(j)+q*(x1(j)-d);
{4 t% ?! J: Y8 L- Y; p MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;% l& @8 p) ~9 l+ ~
end
( P6 [. _, t3 U9 U u, a# ^$ Jend0 P- ~+ F- s5 b7 B
第六子程序:0 { f. U8 V% o$ a4 Q9 r; O
function TU_QM(x1,QQ,MM)& r2 Y; r& p$ }* [6 ]
subplot(2,1,1);
; b) [! b8 d* H4 Rplot(x1,QQ);
0 ]2 Z9 }, D& ]4 c1 Y) @; dgrid;
- M/ L4 i0 e/ S3 [" m1 ytitle('剪力圖');
( s5 A B) @# \subplot(2,1,2);
6 o; T; i6 W% kplot(x1,MM);2 V+ t0 x* f, B% Y6 a {! P
grid;
6 K+ _, D3 j3 Rtitle('彎矩圖');
5 m8 b2 G4 V$ P" X: v1 ?/ M
3 Q, n( f7 V. y, }1 o$ D* K |
|