本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑 . k; b9 V' b6 X; R; ]6 U
! |* }& U- k- I# J" V材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊!
3 Q* A- J" t& A- f4 e% v题:6 _( d$ {; ~: D0 [$ j' u
如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图
6 w9 i o: h8 r7 i" w) S" G主程序:
% l0 K! M5 Y) ~: N3 Zclear;$ M5 y8 w1 k' \) w/ y" g& c
clc;
9 Z+ |# i& y5 ZL1=2; N) q( G. }$ w) W
x=[0,2,10,12];' [: Y: V% P! C3 P
MPQ = [2 20 0 0; `4 N! ]* w4 e( z; x, u
3 20 0 107 m5 e8 N6 F1 @
1 160 10 0];
4 v# h: \4 a4 u* h( l3 X6 ?- [XQM=QMZW(x,L1,MPQ);$ P0 k& l* |, l7 X+ Z B
第一子程序:
+ }: _. l8 _+ p5 g4 Mfunction XQM=QMZW(x,L1,MPQ)
+ f7 j& C$ d& f0 T: q) Y8 X) U [n,m]=size(x);6 n0 P% y# n: Y5 J6 ?
L=x(m);
2 l# G; G: A- g7 ]3 H( ]; L L1=2;
' d$ M( K H/ P, a' j% C4 x x1=[];
% s0 s+ H0 ~# Q5 S1 u' q! Z for i = 1: m-1
- ~" Z+ o' s! t9 j x1 = [x1,linspace(x(i),x(i+1),50)];! U4 Z i6 L$ P5 X* t% D2 f
end
+ ?: A: k$ s5 } H# _& H MM = zeros(size(x1));% l4 U; A* b9 }/ c
QQ = zeros(size(x1));
% F' m$ a( R" h [m,t] = size(MPQ);
3 y7 t' R( u( e* q5 U* o6 }) s [t,n] = size(x1);
. [( N) U: x& g for i=1:m' S0 h! t6 I2 X7 {8 C% ?% S
switch MPQ(i,1)
9 {' h- j) f8 p9 h" F( S6 R% qcase 1 W- P# [* U5 F1 c5 s8 }
a=MPQ(i,3);
, f) `0 B7 g$ M; C5 e M=MPQ(i,2);
~# i% R* E% Y- v- Q RA=M/(L-L1);
+ a+ k% V8 W6 [6 Y/ ` RB=-RA;9 V, |1 ]) v9 @" t% g" i$ Y
QQ=QQ+RA;: r1 `4 G8 a/ s5 c' F5 o: z& g
MM=MM+RA*x1;
& o' \4 w1 s+ I1 c if a>= 0&&a<L
* @/ ~7 q2 ^/ E1 c MM=QMM(n,x1,a,M,MM);
6 e# ]1 t1 f, e/ e* n end
. x/ j+ y A3 t" l( S, K! f* H2 k if a==0
& d* ?' Q3 C, a( d3 [% D+ d1 J j) T MM=MM+M;
: Y* H% l' z- s3 w) i* n3 d4 ^+ |. Z end
7 m% ~( z* @ ~% i" s, Q [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
) \ d6 T/ {( q% x; m case 2
$ e7 Q/ n; r! ~3 l6 n P=MPQ(i,2);
& g$ |# r) Q' y b=MPQ(i,3);" }, w$ M0 L1 v: n1 _0 y0 b
RA=P*(L-b)/(L-L1);
8 ^% r$ Q8 Q. H4 I# P RB=P+P*(L-b)/(L-L1);
$ \/ R" N; t8 ~. e# _8 }# G QQ=QQ+RA;
( K% k/ i7 h9 r% F2 P; t0 O ?; b MM=MM+RA*x1;" V* F" X/ A% _) U' n6 `: {1 ]* B
if b>0&&b<L
9 _% b/ o+ V5 }; F [QQ,MM]=QMP(n,x1,b,P,QQ,MM);
8 Y( D& ^ o- p) o end
# v) t7 V1 ?$ n% ^6 i [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);& g/ Z! Z8 U5 w7 I; O
case 3
( b& p( ^+ ^' i! p6 `5 k q=MPQ(i,2);
8 e2 {3 ^$ ?, B i$ h/ z1 `% C9 e c=MPQ(i,3);
' H( ]( v/ ]6 n" D$ d, J d=MPQ(i,4);
$ z4 g. M4 `( _1 g RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);! P& P" ^/ s8 }5 C/ ^ L
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);$ S; @ Q! }# O; e: i
QQ=QQ+RA;
: B5 E% F( s8 r# _0 g MM=MM+RA*x1;
1 f; q+ D: Z- a) Z6 b [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
7 f4 J0 E$ p5 @ [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);2 f$ E& R) x& E& G$ M% G
end
/ E ~! v+ G+ |! ? end3 Q3 Z5 @5 B5 r
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);
2 t" t Q6 L# [6 B3 |. I9 Z TU_QM(x1,QQ,MM); J; ]6 a; _1 |. t; Z4 X
第二子程序:
+ w+ n+ B5 z. x7 Zfunction [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
! p f1 i6 w5 R. WXQM=[x1',QQ',MM'];0 Y; |2 F* ?- ` H7 ]- A( k
[Qmax,i]=max(QQ);, r7 }/ E& W9 n m5 X: q
Q1=[x1(i),Qmax];9 C* E/ _7 |) Y N6 J
[Qmin,i]=min(QQ);" G& k7 }! Q- X! t
Q2=[x1(i),Qmin];4 x( U; s0 ~% G5 p6 G
[Mmax,i]=max(MM);, k) v- L" y& C, d
M1=[x1(i),Mmax];* P. \- Z/ p g! {, F) f
[Mmin,i]=min(MM);
2 P6 O2 q4 ?0 W: i# F7 UM2=[x1(i),Mmin];4 @- j: i1 x3 y9 u
QDX=[Q1;Q2]
9 C# B2 B: f/ N1 ]/ s. mMDX=[M1;M2]8 `# B9 a5 h, d+ }8 ~; d" e
第三子程序:& @. S$ G. |. `
function MM=QMM(n,x1,a,M,MM) S+ Y" S. s3 M5 D! u) U
for j=1:n
b. ^1 f0 t8 {0 V- p! \ P if x1(j)==a
8 `9 d Y! N+ }" } n1=j;
% |3 d; `- ?3 }1 \) Z- n; k0 M end5 B) M! o2 k4 g% k/ b3 S0 c8 O
end
6 B) L6 d# P1 U/ W. X" E$ x6 s MM(n1:n)=MM(n1:n)+M;8 `. a# [& ]" i% ~0 g
第四子程序:" c5 h' ~' z, Q
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)) c, J4 d. p, _6 R0 Y7 P' ?: B
for j=1:n! h1 @% a$ D/ X/ V" b+ B
if x1(j)==b( J2 e0 J7 [0 o- T+ {% L$ K5 F7 R
n1=j;; |. u+ X# v, H" `4 f
end$ H5 r' B& m2 j; E3 c! j
end
$ X: L/ H2 D5 i1 \; `. D9 }QQ(n1:n)=QQ(n1:n)-P;
9 }7 Q' `# j# p! E8 k" FMM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);. a c, c4 i1 b" Z; R9 _
第五子程序:
2 T" G% a" B1 f4 A6 F& R! M/ Gfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
- W7 U! `9 v Mfor j=1:n
% ]# R7 j7 O/ [& k$ { if x1(j)>c1 z! n& G+ h; o* F4 X, Q
QQ(j)=QQ(j)-q*(x1(j)-c);
) X+ `" W/ p' Y6 w' w3 h MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;! {# j4 Z G ?+ Q- O
end
/ B, w4 F! A: K7 H2 E if x1(j)>d" x. G! @2 n) F# ]
QQ(j)=QQ(j)+q*(x1(j)-d);2 U& v& _: K1 W8 J- x" A3 _. S
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;# ~# ]3 S4 f4 O$ r7 w7 C
end( F' t- I- p5 t; n
end+ A0 v* |/ c1 u$ F
第六子程序:! ?5 Q- [8 W7 P9 p8 n- F
function TU_QM(x1,QQ,MM). d0 b; z5 ]- ?" ~: ]4 R
subplot(2,1,1);. h' \% c4 D* }: f/ |" y& `" }& R
plot(x1,QQ);8 u( u# C! F, B. }! M. v4 e
grid;7 m8 L% z2 H# w, u3 |
title('剪力图');
5 A$ K$ r* V! |$ l, x. ~subplot(2,1,2);
1 N5 [) [! W; O9 _$ [: ^plot(x1,MM);. N; g! S# g# A( Y0 r" s
grid;
( u, l! C) n2 j, j N/ a, Etitle('弯矩图');
+ X9 x- H0 j, @9 J# Y
! i% L3 ` l; r+ [% U |