本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑3 [# [% n4 `/ v2 I
5 X6 B: j5 z ^( y# t材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊! : R( }1 V3 R0 Y7 x' ~$ b: w7 d题: - ?2 T7 w$ M; o1 E如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图* a$ y6 R* W8 m. T 主程序: ; r8 f& ]7 M! r0 V# zclear;' ^! o" T% W$ y" T: ?1 r* J3 v& l clc; + I# N+ w: s# y& c0 B: ?L1=2;; A( Y) |: d' K x=[0,2,10,12]; a$ E; g2 r: S, W& m( F) A3 kMPQ = [2 20 0 0 $ u/ z8 e, x: \$ N3 20 0 10) n7 g* r# H D: A' o" c8 ]: p 1 160 10 0]; 6 I6 }1 v( K0 i& N1 vXQM=QMZW(x,L1,MPQ);4 E3 m# m! E4 S& c! ]8 k 第一子程序: ) N3 C% R5 z+ ?) _: _! j& vfunction XQM=QMZW(x,L1,MPQ) 5 X& A! u/ }5 e O4 p: B[n,m]=size(x);5 {; Y! Y( k# d L=x(m);1 a2 a. P+ Q3 }( k L1=2; % o% y/ i# z H2 f) {" t$ C* b) Y2 ex1=[]; # I9 R/ t5 P: f1 rfor i = 1: m-1Q2 l; [' E! o4 U x1 = [x1,linspace(x(i),x(i+1),50)]; - e1 Y" y) t; _: G8 Mend! b4 \' K1 |4 J$ l MM = zeros(size(x1));0 p) ]: K9 O' M, M QQ = zeros(size(x1)); 1 u+ j& i% a( T+ v4 L[m,t] = size(MPQ);# F4 W6 B5 L) o" I [t,n] = size(x1); * D2 ~# u, F4 K& L, Ofor i=1:m* G a: }! B- a switch MPQ(i,1)! T0 G% A4 Z' |/ o$ Y/ t0 ~6 t4 [ case 17 i/ j. Q# f/ N" i! k2 e a=MPQ(i,3);2 T. F$ `' Y6 L9 V) x$ l5 } M=MPQ(i,2); ! H$ f6 I6 w( W3 s2 X7 D9 CRA=M/(L-L1);8 w7 \7 m$ u, U5 Q RB=-RA; 3 ?. x! a2 f8 w4 n- k1 rQQ=QQ+RA; ! b4 \! ^7 T. }5 W( M% l& zMM=MM+RA*x1; 9 _: a7 ?% T5 g/ M+ o( V1 m7 _4 c5 {3 jif a>= 0&&a8 I5 o' \% C2 P% V+ Z: NMM=QMM(n,x1,a,M,MM);# O" G. w7 n/ T) B, o( ~6 W* h end ; [5 c* I6 j. C7 x8 aif a==04 F$ ?/ }* A7 e% @5 ]" W3 ^ MM=MM+M; 6 E* y7 m' t( N r, [end% A! x+ m. [" L7 ~8 o [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);! Y' [5 |( Q$ r case 2 , N* E. y# D$ ?, Y. Z7 X- J0 BP=MPQ(i,2); 0 S/ G$ }- H8 S, eb=MPQ(i,3); ( X5 [5 A4 x) i" N$ I$ }7 T6 y3 FRA=P*(L-b)/(L-L1);- M% G, [, F! x0 d8 j7 X/ i RB=P+P*(L-b)/(L-L1);6 k* s! A! G0 a# H$ T QQ=QQ+RA;3 {7 t, V8 _$ N2 ]1 G MM=MM+RA*x1; ! @$ P2 [( i* _+ k( o* Jif b>0&&b' T3 Q! c2 f) ][QQ,MM]=QMP(n,x1,b,P,QQ,MM);( t+ t! W/ @$ z9 }6 U7 E: ~ end3 F3 r" ?/ ~: k! R5 c [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);7 A% s, b1 [% ] case 3 ! v9 [! \1 h) Z; D1 P3 |q=MPQ(i,2); ! B8 j; I- o4 u A8 c' p1 s. y; H* pc=MPQ(i,3);6 D7 o7 T" |6 N* o d=MPQ(i,4); & L8 X$ P6 I, F% j6 o8 A1 QRA=q*(d-c)*(L-0.5*(d+c))/(L-L1);8 T: M. x, J* q5 A, S H' U) W: ~ RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1); % I: v. w. p, e" v9 {; D L, l5 }9 ^QQ=QQ+RA; 9 h0 i9 Z. a/ W: bMM=MM+RA*x1; : }7 b4 X8 A$ m% W& Q9 {[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM); ; b9 \: q) [) z, L' {* I5 B/ {[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM); A# ^# S- ^' n/ G; R0 v# `end 0 H3 L1 P) y8 ]* Cend- t1 N5 X& S& R& x [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); $ J: s7 R6 b e! k! Y+ [TU_QM(x1,QQ,MM);8 G, H# R& j5 _, H9 o5 a 第二子程序:6 B! q( l0 ~4 A9 M function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM) 4 g O" o, R1 l4 s8 W5 yXQM=[x1',QQ',MM']; + d3 O: a G# G7 A2 j3 w[Qmax,i]=max(QQ); 8 s# x0 @9 h# W/ |' L$ bQ1=[x1(i),Qmax];; C# k% a9 s9 M' m3 Y [Qmin,i]=min(QQ); P5 ?; A1 ^: V( l4 ] \Q2=[x1(i),Qmin]; ! l/ F9 Z0 D; V. ~# L. \" D[Mmax,i]=max(MM); 6 [1 `8 t J0 y, i+ E2 iM1=[x1(i),Mmax];( T" W+ G! x$ G h8 ^# Z [Mmin,i]=min(MM); $ H, g5 O: b! D0 S q- q" uM2=[x1(i),Mmin]; - ]* q3 s+ }$ @: Y# WQDX=[Q1;Q2] : J3 S; N5 W- U, D! I. T9 DMDX=[M1;M2]1 \; K) J R4 b' n! p* a- U3 | 第三子程序:7 v# Z, u8 X+ I! w# @+ `$ v- Y function MM=QMM(n,x1,a,M,MM) ) y" g9 l3 _& \) T0 o9 ifor j=1:n9 Z! T( r E! D) G R' R3 g if x1(j)==a , U% b& z( Q% G9 X' [' G |9 R- K. Mn1=j;$ R; I7 T# N8 R$ @ end / @$ ^/ J' L6 k# Cend 3 Y/ O8 h. \" n1 s* d: |2 \' wMM(n1:n)=MM(n1:n)+M;7 L2 z& S" P) _0 X' v' _ 第四子程序: % s9 X3 k6 j6 X# }6 P8 qfunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM) " c9 X7 S3 U4 d6 Z$ Ffor j=1:n + M+ H/ c* j: L7 c; Eif x1(j)==b) Z) Q d2 A u$ E( o- i( |% D n1=j; " [: `0 K( E d7 k8 G" p% @end$ w6 I5 r0 E8 p. X, ? end : ] Y! s& n7 LQQ(n1:n)=QQ(n1:n)-P;2 x6 y$ [( A$ n3 \ G5 s MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);- P% p1 e( e& L- P5 F1 f' _ 第五子程序:, j* ?* `- Z2 r function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM) 6 [/ W3 }0 W2 s d# S* W, N% wfor j=1:n ; u/ f5 w" C; Z# n6 s' y+ Dif x1(j)>c+ v; Z9 I, X& t% ?* h9 z5 L QQ(j)=QQ(j)-q*(x1(j)-c); U: \ B0 A$ f5 z# dMM(j)= MM(j)-0.5*q*(x1(j)-c)^2; 8 @# A* j$ s$ H( g; X( F' nend + U7 K; G/ T% N6 P: ~% \if x1(j)>d ( X, o+ Y: W, g* n6 DQQ(j)=QQ(j)+q*(x1(j)-d);* i, K- V) |1 d q MM(j)= MM(j)+0.5*q*(x1(j)-d)^2; 5 @: b2 |$ k* M* Jend ; r# {2 |6 Z9 Y+ Uend - g* Y+ H( m: T! G s; c! R第六子程序:/ g8 q: p$ t. _4 G% A0 U+ I X function TU_QM(x1,QQ,MM)7 Q5 I% D! J) J/ Q& M+ ^ _ subplot(2,1,1);3 l+ q" t& F# k P- d: v plot(x1,QQ);Z3 t5 e+ E2 h# @6 F/ ~4 G& K, ?& V grid;, W( w! u0 n0 `1 W, Z$ y title('剪力图'); . [2 m' Z- g, ~ O6 ?( Z) hsubplot(2,1,2); 9 s/ V8 `5 q) \1 C* v( Aplot(x1,MM);/ t& w2 _; j' M7 ^ grid; + m) L& g, l) }) E% b8 Stitle('弯矩图');$ z% @1 I2 R' P1 X& ~# P
~& {% t4 k2 H) l- f% K( A+ ^ |