本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑 ' @( u ~8 @% H
! T) x& |3 M) P" U- s材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊!
$ b. Y/ \5 P: W, W题:9 J' d3 @7 D0 k B" k9 r" m0 t d1 M$ Z
如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图
0 x G& _# ]% s3 T/ f% b. N3 Q3 C: E主程序:
+ |1 q9 p: P( V% n8 f4 wclear;/ {, U/ W& }/ u! g7 |+ k L$ ]3 h5 Q, \+ J
clc;
( C5 P! j% a% M5 z; Z* n! w2 m. {L1=2;* r4 w) `$ o f/ h
x=[0,2,10,12];
9 y$ c* Z1 H9 {MPQ = [2 20 0 0
$ `2 g6 A/ W) K: P 3 20 0 10
1 |. O2 T; }! d3 ^: G. X: g 1 160 10 0];
* x% g. S! \& nXQM=QMZW(x,L1,MPQ);& l7 v9 j3 u8 f2 a1 v T1 Y
第一子程序:6 O( x/ w0 k5 N! v% P5 Z& L) p/ X
function XQM=QMZW(x,L1,MPQ)
. @5 E+ o0 w4 v) V* p3 b) m [n,m]=size(x);* H) l. v" `% ?1 f: U
L=x(m);
% L9 ?% g2 A, E- B7 { O L1=2;
$ J' w" S9 X" d: u- j/ Z" r x1=[];
- f1 l- o, J) ]8 h3 M( k for i = 1: m-1
- M# @) }6 Y4 S- \7 G x1 = [x1,linspace(x(i),x(i+1),50)];
% `1 S1 F4 [* Vend
" j( o1 @$ o: E! S u MM = zeros(size(x1));0 ?% V: A# I1 J; Y( U
QQ = zeros(size(x1));
`& U+ C# [ l [m,t] = size(MPQ);
5 C' M( _2 M3 l- |+ @! Y [t,n] = size(x1);$ g; i; t8 t k( m( k$ W
for i=1:m
! P- ^/ d0 ]# ~4 R' A. n: h switch MPQ(i,1)* N- `- \ \8 V" A
case 14 E* o. b& e2 D; S
a=MPQ(i,3);
* n' y8 D' M- x M=MPQ(i,2);
1 _$ e# B% ?0 ^7 A5 G RA=M/(L-L1);4 [ E7 \9 L3 n. r/ H3 b3 e, \
RB=-RA;
, P9 F7 g$ ?/ d8 S QQ=QQ+RA;4 Q/ e' z" t: m
MM=MM+RA*x1;
( [% @: H+ H s. k# d if a>= 0&&a<L
0 R* h9 t/ ~. v# k, P* ^ MM=QMM(n,x1,a,M,MM); 8 C, g5 B$ n6 m$ i' F+ M3 w
end7 p9 O9 f! P- v) D
if a==0
* W$ e- T- l+ i4 F. Y3 t MM=MM+M;
. K5 O; w7 y3 }1 E8 P/ b4 N q end 3 ~3 L% ^$ o9 l6 H( J4 i
[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM); " @+ x! s" L& S- J0 S$ p' C3 ~
case 2
7 j K: p3 h1 X+ r$ N) G3 Q0 J! d P=MPQ(i,2);) t( c" t; U1 _! G& H0 b( e
b=MPQ(i,3);2 j! b+ k$ N& h; N% t; p+ t
RA=P*(L-b)/(L-L1); D' E! f+ @+ x% r
RB=P+P*(L-b)/(L-L1);
! G0 ?4 A3 x4 R, G+ A+ t( n QQ=QQ+RA;
U) Q5 Z1 i1 r# c D MM=MM+RA*x1;
+ |2 D+ ^5 @2 n3 v" [4 o' v5 t6 u2 ] if b>0&&b<L8 O0 V: M& R) q/ t
[QQ,MM]=QMP(n,x1,b,P,QQ,MM); ( |5 z% w/ \$ y) j" ^# d
end
, S: d1 _: Q3 ~0 p. x( R [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);" @6 D0 c" ~* R% i
case 32 g+ U% }/ J4 Z1 t9 @
q=MPQ(i,2);
6 d; l8 L( Z- u c=MPQ(i,3);& l: T4 Q. \. j- I) D$ G: r
d=MPQ(i,4);6 g% j) x' `7 @) Z+ ]6 D& L
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);1 E* V( [2 I- i. I
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);) p, B$ X; I* l9 s3 i
QQ=QQ+RA;! J8 S3 Q" L; d1 C
MM=MM+RA*x1; Z4 A4 _/ {5 ^5 G: u& R8 C
[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
- F( o& w' N) ?) C/ t [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
- Y- g, F: m# {( A/ [1 N) E z$ m end
/ ], P+ l# ^! `; f# b0 a& X4 I end0 N# l5 \7 X& f5 ~ d: @2 F
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); 6 U. m" Q' f( q6 X, J0 c0 w
TU_QM(x1,QQ,MM); 4 R, K# V4 e; Y: c
第二子程序:. |; e5 Z" v- c9 J5 X: ^" H
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)# f& }2 y1 P3 x9 K7 x* z* {; C
XQM=[x1',QQ',MM'];9 ^. m& S% i9 F8 ?5 F7 r5 t
[Qmax,i]=max(QQ);
0 b1 E: |6 ~9 hQ1=[x1(i),Qmax];
2 {$ T; V- c" b! s" {, T[Qmin,i]=min(QQ);1 b% p* E, \/ C u& F; \# |* H& g7 ~- p
Q2=[x1(i),Qmin];
5 Z5 z% ~) s8 [# W' \: r' Q$ u [Mmax,i]=max(MM);# D) I( L% c5 w c* ]8 d
M1=[x1(i),Mmax];
1 Y+ ^4 t$ m7 x7 }# l[Mmin,i]=min(MM);
: D$ ?" ]$ {! Z1 vM2=[x1(i),Mmin];
- e4 V& {7 c: ^$ bQDX=[Q1;Q2], T4 k4 V) i( M
MDX=[M1;M2]+ [+ v1 @" g: \9 i9 [
第三子程序:; r2 m6 n) ~0 D$ D. s3 D0 @
function MM=QMM(n,x1,a,M,MM)3 U2 o' x, S7 F8 q/ \2 W
for j=1:n
q. y7 ?0 g2 q if x1(j)==a
* l- E2 I4 \7 B/ l n1=j;
2 \) _/ y; Q6 y3 U4 N" S, W end
/ i) ^; u( f$ B5 }# n- hend& }/ g1 b2 m) @4 @$ a+ o
MM(n1:n)=MM(n1:n)+M;
: E% R; V/ i, b1 x: T7 b第四子程序:
" l1 X8 l9 E' p3 |% ^function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)' e; o/ X" O; C8 M) g
for j=1:n
$ H9 z- l3 s8 L2 }: ]( T- n9 p if x1(j)==b: b3 J0 x* U" d; W) E4 m9 Q
n1=j;
5 R/ u9 A% U% s. T$ s" x" q end' }+ y1 T0 i% L9 k5 I$ s
end. g1 k( E) f5 m
QQ(n1:n)=QQ(n1:n)-P;3 m: k5 G: U6 J1 ]
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);1 P0 j* r* p! Z6 S: G# H
第五子程序:
. k/ r* R# C, n) gfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)8 a4 c! `4 ]/ d9 M: ]
for j=1:n
d8 o' G0 p; B if x1(j)>c
9 M$ T2 v4 ~ Q0 C1 Y6 Y9 d QQ(j)=QQ(j)-q*(x1(j)-c);
( u0 I; k f! q7 K h0 _ MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
`$ I. W) @1 X, ? end7 @% P8 m X: R9 X
if x1(j)>d' ~9 \, l; ^5 f2 E
QQ(j)=QQ(j)+q*(x1(j)-d);1 K6 Q- {, U. N3 b
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
2 o v* A2 O& G6 A" y, M, W end: z. l- y9 H8 K; o/ C/ [( d
end
6 J' H- N2 ~: g第六子程序:+ C" d5 j" S! d
function TU_QM(x1,QQ,MM)
7 |2 j' n; d+ {, V. Jsubplot(2,1,1);
/ a j5 e" z A' U! V: Oplot(x1,QQ);- y; t1 B9 Y; [- E4 w2 ?: V
grid;
6 U4 k# }& N2 Vtitle('剪力图');5 i1 M# ~7 |( t+ v
subplot(2,1,2);
! W3 z& z+ [* y! B% iplot(x1,MM);
' E P4 a) i5 k$ h( D. K9 s& Ngrid;
8 g& M6 s% j: L! Stitle('弯矩图');
3 u- o4 i. P1 d$ d \0 {' e% G7 g4 ? ]( c- y
|