本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑 # V) g6 Q8 [' h* W7 Y9 F
1 m) B+ M% w( R1 w, d" ^1 @
材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊!/ c$ Q/ w- H9 ]
题:
3 P- L1 X% F* a+ R如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图
( f- W8 z+ s, B$ W; T% i: @主程序:
+ u: Q6 B L5 U7 o1 pclear;3 ?( e: _( k0 a' B5 x: q! `+ B4 F7 z
clc;- ?, ^! U1 s" k. q/ m5 X6 |
L1=2;
! ]) |, T; b! b9 d/ E' H [1 `x=[0,2,10,12];
% l7 m0 M1 Z1 q$ LMPQ = [2 20 0 0 Z# y, C( ~, k1 _7 r
3 20 0 10# o# ]0 e4 w& ]2 o
1 160 10 0];* j; a# e5 B7 k9 X$ J B* M9 Q
XQM=QMZW(x,L1,MPQ);
8 s8 r. R& G. p7 y/ q第一子程序:$ f+ x" v- [ E0 \' w
function XQM=QMZW(x,L1,MPQ)
7 [' U/ k- w) \3 K5 c& d [n,m]=size(x);
% c5 |: w* M+ w L=x(m);
; C$ D; {' L- ~4 M L1=2;
^; B! O# q, \5 r8 p. E x1=[];" {6 I/ W0 o" u ]3 K
for i = 1: m-1
& {/ u9 w; q1 Z/ E& z+ b4 J x1 = [x1,linspace(x(i),x(i+1),50)];& e: C( a- E$ q4 C% k' ?
end # v5 P& K& g1 p* C
MM = zeros(size(x1));
! o' b& y/ P x9 s QQ = zeros(size(x1));
, I. n' U" ]5 S$ P [m,t] = size(MPQ);- ]5 E# x, J4 [1 d
[t,n] = size(x1);( `/ E5 _6 M4 T+ W
for i=1:m
; X w# r1 Y5 m8 ]# h switch MPQ(i,1)
8 |( b. j" I8 p' F; E5 p1 }8 m: vcase 1" T0 m, }* F" G9 k0 M4 M
a=MPQ(i,3);% f5 U( }7 W9 |4 R5 V: m1 D
M=MPQ(i,2);
, l, p- g& I3 {# G RA=M/(L-L1);
+ i% ?* B( A7 I6 P: p RB=-RA;
! I/ h) S/ A- m( W7 J; ]$ E7 ~ QQ=QQ+RA;
2 d* Y" ]3 p; }0 W( [ MM=MM+RA*x1;
: L5 ^8 D9 A, X if a>= 0&&a<L
( ?; X3 U% R: w) O MM=QMM(n,x1,a,M,MM);
; ?" {' C0 }3 L. v9 Y* a end+ v" h/ L& v/ p
if a==0
6 `- T# _) N+ P1 h5 o) Q MM=MM+M;1 n% [; y3 [% y* D! ]. o, A4 A
end
& T+ N9 w& c7 }! O; _7 J5 Y [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
: e d+ j r: o% Z+ L( H* @0 W case 2# X* S2 ?9 q9 K* A! I
P=MPQ(i,2);4 x( Z- d$ M; ?
b=MPQ(i,3);* |% z5 Y, T$ Y' x$ s( _6 [
RA=P*(L-b)/(L-L1);
9 N6 i0 w: }; W3 M& s; }0 D3 ? RB=P+P*(L-b)/(L-L1);6 o: {3 {' e+ j% X6 ^' V
QQ=QQ+RA;
" j* O$ N- E! J$ T, F MM=MM+RA*x1;
* V9 Q9 ]0 j8 g8 Q3 I7 t if b>0&&b<L. M. U; ?, }! X4 o
[QQ,MM]=QMP(n,x1,b,P,QQ,MM); ~* c5 z/ F B3 V
end
. ~$ M% J& C1 S [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);/ j' m" ], f* @/ ]; I# G
case 3/ v2 H0 s. k" y# d
q=MPQ(i,2);
. O8 R6 o+ [) P9 G% M7 B c=MPQ(i,3);
! z% T C/ b( W( |& c( e d=MPQ(i,4);
) `9 G+ {3 \; ?6 j' O RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);0 G( |0 e/ z5 o( _
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
+ `' n) f* u! W7 ^2 }+ S {& w; L4 X5 Q QQ=QQ+RA;
0 z# P% l! ^3 g- F8 D& l MM=MM+RA*x1;7 r" @- y; y# x1 M2 i2 N5 B
[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
/ |7 M3 m( e4 S3 q3 o# \$ E/ O [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
/ N; n1 H& g2 i" r5 l1 L end
/ w+ t& K* P* \) H2 y! | end
. b2 F! Y6 q0 O* d: Y3 e [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); / [' `- z# c& T# u+ ^
TU_QM(x1,QQ,MM);
) Z8 O# {3 z8 p+ J* g- O( G" N第二子程序:+ t* h" `6 N% j
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)' |* V& }) d& M! O3 x+ S
XQM=[x1',QQ',MM'];: j |* _/ w2 J9 G- n8 E
[Qmax,i]=max(QQ);
2 {2 J, D) x7 ^- Q% eQ1=[x1(i),Qmax];
" v+ d* C; U$ r, M; S/ u[Qmin,i]=min(QQ);, |# g) p: x. ?' S
Q2=[x1(i),Qmin];8 z. K6 w* i6 \/ v- U- [* C
[Mmax,i]=max(MM);- K3 _: i1 u& s5 J }# Y# r3 |
M1=[x1(i),Mmax];
6 k; Q R& \+ Y5 m! `[Mmin,i]=min(MM);
7 x% r# C3 w* q+ dM2=[x1(i),Mmin];! H" m9 F# Y6 Z# A4 o& Q/ y
QDX=[Q1;Q2]$ [& q! M' b: v
MDX=[M1;M2]0 S4 q: |; @; v" F& [
第三子程序:; m; T* L" n6 }5 V, X
function MM=QMM(n,x1,a,M,MM)
/ R$ f9 d$ n( H. M' e( Xfor j=1:n- a* h6 Q7 i6 l K! u
if x1(j)==a7 y0 g, {1 ]! E0 j8 H
n1=j;
/ [9 {3 u" {, a! `& }# V! ` end
! w& F5 Y7 I" [8 {5 Wend
& I/ b+ B# C1 y A" Y+ y. ^( r5 r MM(n1:n)=MM(n1:n)+M;
; Q, W2 Q% f* V1 s; g第四子程序:
0 {2 U8 Y; G! ^6 G0 Dfunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
, O0 H- }" ^% J H N; n" S# Hfor j=1:n
& W ?9 _- Q% Y. C if x1(j)==b7 S$ m0 Z! ]0 f& g
n1=j;1 m9 U* Q' m8 y! ~ u9 A6 l
end# r1 [& ~; }/ R
end, C! T+ `7 ]! ~% f
QQ(n1:n)=QQ(n1:n)-P;
" N: n0 u- ^$ k/ g3 vMM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
. U( I) U; P" j9 ^: g第五子程序:6 `7 d3 x; k( V- p! K/ D/ ^! ]2 u& J/ t
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
0 B5 P m! o4 [for j=1:n
C1 t$ e# e% J6 D* G1 Y if x1(j)>c
) H' J* M$ o9 t. ~ QQ(j)=QQ(j)-q*(x1(j)-c);$ Z/ b( x, ?( a- B
MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
/ t3 i6 k7 d# V end: g( }6 V$ Q6 S( [, S9 |, v2 P
if x1(j)>d; `& z |% |" Y q- y( M
QQ(j)=QQ(j)+q*(x1(j)-d);
, J& a3 I# G- O! N6 M6 @ MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
. G( V& [5 ^6 p% [7 m: O end2 g Z( T8 u% _& m# \
end
& b% c& @' s# K( I X; R( U' z第六子程序:2 J; f: k& W, L1 _, Q& q; X
function TU_QM(x1,QQ,MM)
* L( a5 j( k$ L) e. ^# Dsubplot(2,1,1);
4 a! p4 t7 T/ v- Gplot(x1,QQ);
, a# O2 C& k( _; Y, G3 Lgrid;
4 t }! v- Q4 N' P2 mtitle('剪力图');
4 u+ p) Z1 a# J# }" A; Lsubplot(2,1,2);+ D5 E6 L' j: m& V- |7 g# t% a7 }
plot(x1,MM);$ {+ F$ R% ~9 a1 h% _ i
grid;
) p) @; i6 N1 @: S( Ytitle('弯矩图');
- Q' m3 n) [* x) X+ W+ [) _9 u) X" @' @# I5 s, K
|