本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑/ _1 C1 e& @) v# E- O7 f1 ~+ H ; F0 v; Q) k0 O1 k! n6 G 材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊! ; F9 o. _) B: H( k$ ^8 i2 v- {" T题:; t( x0 d8 v# b& P* T 如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图; I. g5 X+ {, _ 主程序: 7 j; B* r7 V) h4 d7 Nclear;. m2 `0 `2 J% ^! w. F( x3 V clc; ; f/ H9 T3 v" X6 g' M7 EL1=2; - v6 S6 S* k7 h& m2 u/ q5 ^x=[0,2,10,12];. P, ?7 ^+ Q1 P7 [9 i; ~* J$ Z MPQ = [2 20 0 0' D0 C9 Z1 x! K$ R 3 20 0 102 K9 ` ~* F. F9 x! p 1 160 10 0];9 Q9 E3 U# i, C. K- r3 p XQM=QMZW(x,L1,MPQ);6 z" @( c) c+ l& M( y 第一子程序:6 D5 Z* O* W8 P6 f% T. D& E4 }* J function XQM=QMZW(x,L1,MPQ) ' K% V; l Z' U9 V: e; B[n,m]=size(x); 2 s$ x) w9 V, _! jL=x(m);* n- K3 R% M9 \! a, u7 ^9 ? L1=2; 6 y; w' o) Q$ w& Ax1=[]; * Y2 O# M$ @( K9 v+ [2 X) lfor i = 1: m-1 % Q- v+ Y z) y C3 b/ S7 ux1 = [x1,linspace(x(i),x(i+1),50)]; , q/ g# V( @! @end 0 Z& R7 v- V& O7 s$ v4 w# vMM = zeros(size(x1)); , b8 H4 ], }+ e* }, M6 FQQ = zeros(size(x1));* d& ] G5 {9 H/ q) Z [m,t] = size(MPQ);0 {' Z" r, E/ G) Z% ]0 ~ [t,n] = size(x1); 1 x: M: t, D) U; {& l8 Vfor i=1:m ( D* V6 A: v O+ w) f" Mswitch MPQ(i,1)+ U( m3 V; A7 U; y6 R+ m, f0 r$ z case 1H' p; `& w- c9 } a=MPQ(i,3);' P9 P4 d: d9 g: E M=MPQ(i,2);& Y6 p/ Z' n" [/ p RA=M/(L-L1);0 v' T8 _7 v$ n8 h- [ RB=-RA;2 j* U+ T& ]9 [ J* V QQ=QQ+RA;4 C" f3 F+ i/ `; [ MM=MM+RA*x1; / D2 ^6 A5 O9 Q8 V0 iif a>= 0&&a* N( f9 E8 h. {4 D U MM=QMM(n,x1,a,M,MM);% `$ j% p* o6 n0 a& p n end 4 ]$ s/ J; r- N: \/ [9 w& T8 \if a==07 I& b, k9 k$ u/ J' h, L MM=MM+M; + H) M4 |; u/ w# {% H3 X* z) Eend - n$ y0 B/ Z: T' ?' f[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);! ^6 v/ a6 V. |2 x case 27 B& {3 N6 \, e+ O4 c6 Y P=MPQ(i,2);" o5 s' L, s% x b=MPQ(i,3);6 O7 y; H) r( I9 D+ A" Q+ R& Z RA=P*(L-b)/(L-L1);& T3 h# c9 ~9 w t4 {+ c RB=P+P*(L-b)/(L-L1);& e* P, f3 C/ m2 I9 ^5 b# A8 X QQ=QQ+RA; ' f* e/ G, F+ N. ^+ cMM=MM+RA*x1; + j# O4 H, S! b# q+ d. _; J Y; Qif b>0&&b9 ~! Z1 ?1 p/ j3 O1 t! d[QQ,MM]=QMP(n,x1,b,P,QQ,MM);9 s: ?) l) ?# u end! A& e$ g9 q1 {1 u. j [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM); / ^& O9 W9 E. Q% `1 C( t4 Gcase 3 & ~6 N; N- Y' ^/ T) ?q=MPQ(i,2);' G4 L( G3 y* c$ Z& s9 L+ P* D c=MPQ(i,3);Y s% e0 p" y6 W6 |5 ? d=MPQ(i,4); 4 @+ H+ h9 N" Q) gRA=q*(d-c)*(L-0.5*(d+c))/(L-L1); 7 X J% ~3 m7 c2 e' PRB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1); ; @) @0 q8 B/ N$ IQQ=QQ+RA;0 B$ B' l) K+ K( i MM=MM+RA*x1; , Z/ k2 T( m& Q/ K- |& T: s" Z[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);8 E2 }$ v* p8 p6 O" T5 ~; | [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM); + p+ K3 c' G. m" x! w8 m' n4 a/ pend7 k7 @/ z/ P l8 O; p end0 O7 E% ~3 } v! K1 v [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);8 |6 |7 G n6 R1 q$ }' V0 @ TU_QM(x1,QQ,MM);- z1 j$ ~: y+ }) P5 b 第二子程序: - _; t1 l7 F: u+ b0 H) ^) Xfunction [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM) " R$ l" d! x3 T- ?6 LXQM=[x1',QQ',MM'];6 a! O: m$ N0 X0 ~ [Qmax,i]=max(QQ); / {1 z2 a; G2 l! M; [$ tQ1=[x1(i),Qmax]; 0 g9 d9 H9 d* t$ ^# [, E: c+ U[Qmin,i]=min(QQ); , F7 u! v4 ^! `2 I5 EQ2=[x1(i),Qmin];( ?& b! ~9 \7 c [Mmax,i]=max(MM);5 C5 B7 Z. d, R8 \4 H6 `$ @& m M1=[x1(i),Mmax];% ~. m, L& T* p& j, v [Mmin,i]=min(MM);: R( k# _8 K! P3 h- U- A M2=[x1(i),Mmin]; # p' {; l$ H4 A5 I/ {; P$ SQDX=[Q1;Q2]7 _7 d: d5 j& k0 u1 o; I8 B" e MDX=[M1;M2]6 M- p% S) P& }, u; k 第三子程序: % E7 n2 u& |: P" O! w8 sfunction MM=QMM(n,x1,a,M,MM) 1 S5 d% C4 O" Y2 \for j=1:n) Z ]9 K) n: x% o. u7 y! \ if x1(j)==a 3 C: T6 R E* R) F+ l# o7 Ln1=j; 0 y: T4 A, E! hend ; l0 D) @$ Y+ e* _8 @& P8 fend # r0 ~3 e4 B" CMM(n1:n)=MM(n1:n)+M;9 y% a0 I6 I# @( O. v 第四子程序: 2 Q8 i$ u# P2 p$ t% p+ J9 M. ~- j* tfunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM)/ N( N& T0 S/ [4 ]2 ` for j=1:n " @6 Y9 l w* |: j7 ^. uif x1(j)==b 5 c8 O4 Y8 ~% ^# S4 Pn1=j;/ i: z M5 }( g end ( B8 {) U, H& v) T0 d' k$ S& `2 Send * K# C5 X! _5 `4 C/ |( }QQ(n1:n)=QQ(n1:n)-P;' G# a0 w6 V7 Y6 _ MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b); ) N4 \7 @" }1 o. y5 ?6 a$ r第五子程序: + C' U4 ^% {4 y7 X% Lfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)9 V4 ~( X4 Y6 s2 ^0 o. y for j=1:n/ Y5 ^( B) S0 f+ I* ?4 A9 X) | if x1(j)>c+ ?) B% t6 }, K" _6 A+ @ QQ(j)=QQ(j)-q*(x1(j)-c); 9 ~% c/ R! T* H! g' ]5 M2 a- OMM(j)= MM(j)-0.5*q*(x1(j)-c)^2;6 m$ p! a A/ X2 K% [1 U end ' ?1 R- u5 I9 ~. I. X- tif x1(j)>d & y0 @. j r. F8 pQQ(j)=QQ(j)+q*(x1(j)-d);- v5 R4 H2 n! }4 x- J8 \ MM(j)= MM(j)+0.5*q*(x1(j)-d)^2; 3 N0 q5 L* f) D& aend' d" c( ]9 b/ N) A3 E0 `5 T end% I+ [' p: D# r& M1 c y% s" W 第六子程序: % m% l) `- s$ T* x9 g- X; Lfunction TU_QM(x1,QQ,MM) # B. G/ D, e0 w' L0 Wsubplot(2,1,1);5 n$ U8 [, G9 @3 V plot(x1,QQ); . I" T1 Q& A! S; P+ ]grid;5 n6 g; K) B- f1 X title('剪力图'); 3 ] \/ [ r4 ?( b2 v O, ssubplot(2,1,2); / T2 u6 p, J* d; k! O2 Hplot(x1,MM);' f2 `1 a' ?6 ^$ g$ y grid; $ e* U @/ e8 ^0 D" Z8 y, i3 J/ ltitle('弯矩图'); @+ K& C" ^$ \3 k& \9 @0 `3 L 2 j; a. }. j9 y& v |