本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑
- y$ e$ D& Z- w: o1 ^- g {) \/ G. A! u" @8 o; T8 [9 f
材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊! T9 U) U7 Z( u' y* L( J
题:
( u# O4 F0 E: l如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图! F( ^) P1 `. x+ E
主程序:
N( _+ O' [" O, gclear;5 |" r+ _; {1 M7 _- Q3 G( G: q# {5 G
clc;
5 {8 r) C) h$ |' ML1=2;, ^. a4 U. o- s( J& \ h
x=[0,2,10,12];" ]/ n" m+ E" Z; w% i; k
MPQ = [2 20 0 0
$ \9 Q; g( Z/ f6 E! c* A; V 3 20 0 10
% }* f; Z/ c8 q5 M& p1 Z 1 160 10 0];: s0 e7 p w0 _/ Z
XQM=QMZW(x,L1,MPQ);9 l7 B2 Q+ Y8 V1 X" x3 `8 D
第一子程序:( T8 Y9 c- q1 E9 N! d
function XQM=QMZW(x,L1,MPQ)
# D Q6 a; H+ t: {7 G8 a$ ]4 S [n,m]=size(x);
* t- o0 ^' e9 v' p8 Z L=x(m);% p: ]! _4 i$ c1 n3 c, w
L1=2;4 }+ A5 U) a6 f& M4 H+ g$ |7 q1 U
x1=[];
" b8 Z% s' C7 @& ^" U for i = 1: m-1
/ n; C# f: n( o' n7 Z+ S* c9 L0 k x1 = [x1,linspace(x(i),x(i+1),50)];
! N% D3 K: A* Wend # F: u( j2 _; W b
MM = zeros(size(x1));5 \# G' {+ z. P) r. j. C- L
QQ = zeros(size(x1));
/ p$ j% T* g0 T" I" a [m,t] = size(MPQ);
* i3 U3 ?5 F) z; L- M9 H [t,n] = size(x1);
+ O' s$ J9 ^( O+ z% u4 @; r, F$ H for i=1:m3 \' t4 A/ j. W0 ]% R
switch MPQ(i,1)
* o& _6 ~6 x# i$ b- s! n1 _( ecase 17 B3 t' S' A3 z: F( Y
a=MPQ(i,3);6 W j$ K$ \+ r& r! b% A! G! h# A
M=MPQ(i,2);8 H7 X( S2 W+ g# D
RA=M/(L-L1);
$ A& F/ z+ U3 r2 _& D; S" f3 F/ P" X RB=-RA;6 B) {$ Q2 B( M I) o
QQ=QQ+RA;9 E% ^7 ^! @% z |. P
MM=MM+RA*x1;
2 E. U$ h/ w9 f! i9 P5 y if a>= 0&&a<L2 ~, @1 B, i b5 k5 V
MM=QMM(n,x1,a,M,MM);
5 d( R5 l: I' ^+ J8 _ end% R% b" o6 E* e$ V% T7 l1 n
if a==0" Z# ~' z6 G/ d, ?
MM=MM+M;# ^- c; O6 B2 v
end , D7 t1 x5 S2 V; P; |# Q, E
[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
& b3 e5 u" q9 }8 y; l3 v" b4 ^ case 2
2 \' a: Z5 h, O$ q% H% x P=MPQ(i,2);
0 \: c ^3 _, P+ G$ |- E. p b=MPQ(i,3);
( a* Z& f& z( `8 X RA=P*(L-b)/(L-L1);. p% H2 _0 O; o8 D- w
RB=P+P*(L-b)/(L-L1);" x% Q, p2 J* b: p. B5 e6 f
QQ=QQ+RA;% O v4 A4 b# Y; g8 U' d
MM=MM+RA*x1;- j# Y3 u+ W7 G
if b>0&&b<L3 s1 l& H" B6 l1 T0 m2 ~
[QQ,MM]=QMP(n,x1,b,P,QQ,MM);
6 i: k/ O) H9 H, t2 b/ U } end( N% y8 _4 [1 ?
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);$ Y" M# Q5 R9 f5 C% e+ Y
case 3- \+ q* c c) S" @/ c
q=MPQ(i,2);
& G8 ]2 B# A8 \2 F c=MPQ(i,3);
( t- W; ]6 i3 T! p& L d=MPQ(i,4); H4 n3 o5 P+ O' ?
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);/ r; K% m7 h1 k8 q ]7 I2 Z
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);) T% `8 s0 d! \; ]9 R+ V
QQ=QQ+RA;& P% I" C i& `* N
MM=MM+RA*x1;1 V$ ?4 S* A( S( F6 _* J
[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
: @& A3 }( ]& P0 ^6 b+ j8 o [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);" V% F: r" W+ w. u
end7 A" ?( L9 {# k) {- k9 Z8 y# h
end! v- c2 S# F# b; ?2 T {
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);
+ A7 ^" l4 _( ~& T5 K* |% a TU_QM(x1,QQ,MM);
' Y. ^' I! w) O4 A3 g/ I! A4 t& h4 K第二子程序:
- h" y Q# e' N9 u7 m& o0 Ffunction [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
: {$ w" p5 M! n; TXQM=[x1',QQ',MM'];0 [7 z5 X6 A& S! D4 A! ^
[Qmax,i]=max(QQ);5 m) ?1 H$ C4 X1 r' n# y6 |
Q1=[x1(i),Qmax];
8 D: {% n8 Q4 D' M[Qmin,i]=min(QQ);
+ c1 q$ F ~& _. ^) m( n. C; `8 ZQ2=[x1(i),Qmin];
2 p+ y3 v1 n4 a: m& z( P0 A- q [Mmax,i]=max(MM);
7 \' h% [2 g5 o M1=[x1(i),Mmax];
" v+ \: H4 G8 @[Mmin,i]=min(MM);# q" `8 S! Z" o0 G8 [
M2=[x1(i),Mmin];( A& J; ~* W# z) E5 P% g
QDX=[Q1;Q2]. ^7 I i( I& z: P: Q9 }' z7 e
MDX=[M1;M2]4 W) Q2 v" p8 j
第三子程序:6 X1 t0 c/ S. {1 R$ h
function MM=QMM(n,x1,a,M,MM)
' O' a9 e0 @& `; e7 F6 hfor j=1:n
$ l* g. ?* ^1 } if x1(j)==a" g( `4 M1 x7 B' Q* ] Y
n1=j;3 F, i" `/ X" i" \& ]4 ?
end7 P3 I1 F$ M3 [
end8 L) r5 \1 P( f9 w2 A& t
MM(n1:n)=MM(n1:n)+M;- p6 d, q" L9 J' a+ {% d/ D0 i
第四子程序:
5 w: r8 c5 C0 x Kfunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM)1 A- [. P7 r2 L3 c. Z% u7 h( T1 t9 I
for j=1:n8 ^* a$ Z0 x! i* E; B
if x1(j)==b
. u2 @* x4 W2 s' O' \8 T, j! k n1=j;5 X* R% k# S4 B0 h) Z
end/ D* z" p6 }, z( v8 }
end
0 Q- [$ J. M* f: e) SQQ(n1:n)=QQ(n1:n)-P;" K2 b5 [4 ]1 k/ M& J
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);) W4 Y( Q3 E, m3 R9 r& N
第五子程序:8 \% e- t* V1 t
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
7 O8 V4 v8 G# Rfor j=1:n
; }. a8 Q! G- C( b% d if x1(j)>c
& m4 s* Z% @$ C ]' \ QQ(j)=QQ(j)-q*(x1(j)-c);
) z8 q, Q' h6 [6 [ MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;' W7 ~& u% u! x' E7 j; O7 X/ j
end
$ e- o' b" m6 @/ ?4 i. G if x1(j)>d
2 C& B+ _& Y$ U9 g QQ(j)=QQ(j)+q*(x1(j)-d);) Z8 t1 u1 @, ?
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
, {4 [& H* { L9 Q5 y end
' h$ ]) G( a. y, T! J4 M3 x) |end
N# Q+ [3 U; B, z2 u第六子程序:( b. P* f/ b/ W( L3 | B
function TU_QM(x1,QQ,MM)
# e) u3 M6 L) \) S7 u5 a( @/ l: Ksubplot(2,1,1);0 o- j& e* P7 o `4 w
plot(x1,QQ);3 ]8 ]6 S& W" _/ p. |
grid;
H1 `# A2 F w2 Z4 htitle('剪力图');: W2 N1 z2 W- L2 }* ]: z
subplot(2,1,2);6 @! X- n Q% S3 z/ p# o- x7 N$ D7 N
plot(x1,MM);" Z l/ H ?8 c: k/ }- ^! ]
grid;
& \( h6 K) V2 V9 T7 G* m- Ttitle('弯矩图');/ z: Z0 A6 y1 H% k
# r: A/ b m* j6 T, W# E
|