本帖最后由 獨孤峰yi 于 2013-5-21 11:13 編輯 ' R, z4 k2 x9 n
; e# @6 E" I; P) e9 y- R
材料力學課程設(shè)計《左端外伸梁的剪力與彎矩圖》,,由于沒有matlab基礎(chǔ),,早上七點半糾結(jié)到現(xiàn)在實在是hold不住了。我在書上找到了例題有正確答案卻不知如和用程序表達,。以下是題和我寫的程序,,不知道哪里錯了,希望了解的能幫幫我,,謝謝�,。�* g6 i# o+ x( Q4 z; V$ F2 q
題:+ Q* W+ c0 S3 v3 T$ }. c
如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖
- g7 @( |+ m$ P) U4 U5 _主程序:: J1 O" O* y0 f1 A0 N# V$ t
clear;2 S$ g: C- K/ Q1 l, {/ |! e" C
clc;7 x6 A# V# {, }# n0 _6 o
L1=2;
' E* F' ]& G- o& E( D$ ox=[0,2,10,12];
, D0 i; `. Y( K9 k( h3 BMPQ = [2 20 0 0
0 J2 L5 W' s8 k9 y# `4 [; | 3 20 0 102 c% C" x: {9 _
1 160 10 0]; G1 P! C# F! q9 W
XQM=QMZW(x,L1,MPQ);
1 K/ R0 i) c: \) C3 |第一子程序:0 Z2 S; K- \$ i2 ~& H: c7 n
function XQM=QMZW(x,L1,MPQ)
! ~: c7 u; b( a2 e5 s# W [n,m]=size(x);2 c X9 _1 ?/ O. h/ R8 ]
L=x(m);
) k" V( N* \% M; t0 V1 b' z L1=2;
4 D5 Q: X7 `/ l& G x1=[];4 X, \. T0 B- b6 }9 I3 p
for i = 1: m-16 h! h T5 m/ D0 q4 p% p5 l3 }! m
x1 = [x1,linspace(x(i),x(i+1),50)];; u9 [3 k( Y3 W7 H- |
end # X6 E* r; k8 @# H. C
MM = zeros(size(x1));: D4 Q, C) p2 _, g' k7 B4 D% |. I
QQ = zeros(size(x1));
# t$ w: u) L- s [m,t] = size(MPQ);( k+ U+ g% l! U& g3 Q
[t,n] = size(x1);2 J5 A s. `: d @& ]1 X9 ?4 l7 \
for i=1:m
6 x7 p U! k U. t9 Q1 V6 E switch MPQ(i,1)
8 r' l* U8 @$ }; V, F F* ]* qcase 1
% A1 W" S$ b8 m a=MPQ(i,3);1 Y2 G N2 W1 W- p$ c
M=MPQ(i,2);7 o. Q" T8 q% z; l
RA=M/(L-L1);
a f) g# E. f2 t" `9 x RB=-RA;; N/ S3 z% \' [
QQ=QQ+RA;
/ @$ R. V& D- k2 X MM=MM+RA*x1;
: @& z( c/ `+ L" ^: Q6 B0 w, P if a>= 0&&a<L' t; f' h: t, {2 p+ [0 U
MM=QMM(n,x1,a,M,MM);
/ M' L, |1 \1 { end, B+ W" Q( n# u' I2 @* K
if a==0
6 j3 E1 F+ W* I/ l. G MM=MM+M;3 D. T# Q5 z8 N4 W$ D/ ~# ]) A
end
) K5 _* z% W' P [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
G( C% D6 G2 @& l case 2
$ X5 [. ~ }& @ P=MPQ(i,2);
# x6 t8 a" p% G1 \ b+ U _ b=MPQ(i,3);
! n& O& P$ V; Q1 z3 B* x; T RA=P*(L-b)/(L-L1);* ?/ }/ _- b8 X& i, d! Q8 w
RB=P+P*(L-b)/(L-L1);/ ]8 w( L" ^$ Z. I8 V. P
QQ=QQ+RA;
6 r5 f$ S% A) x* b5 ? MM=MM+RA*x1;2 Q7 F; ~; q! o! n
if b>0&&b<L
8 J4 L9 Y! A( { Z0 Y9 A& @ [QQ,MM]=QMP(n,x1,b,P,QQ,MM);
4 m7 Z$ g9 H( x, ]4 z" j3 P) H6 c end! C1 ?" h- v0 _
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);) M) J" ?, ^& E, b$ k7 U' }7 U
case 3
" p# k3 A; j9 u' V) k* ^ q=MPQ(i,2);
; g3 m, y1 I8 T q: W2 j. J c=MPQ(i,3);
2 [ ~; o; D2 g+ k: E9 v d=MPQ(i,4);' P1 ?, e' w& A( [9 K/ C
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);
2 K' R) [/ g o RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
5 {0 e$ X+ l, `6 }, B- M0 n% [) x# q* a QQ=QQ+RA;% @2 N4 l; d, V. N0 }
MM=MM+RA*x1;
! N, Y6 Q, y. h& ?2 Z [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM); $ b# A- J- t+ P5 s; }
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);( ?% u8 Q$ @, A: d- L( ?
end
9 u3 M7 d. q8 \; x" V$ a" Y end
+ F, m( C) g2 o+ N [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);
0 i3 K5 q( k: j% v TU_QM(x1,QQ,MM); 5 B2 E3 C+ x/ Z( j# K h/ w! K1 y
第二子程序:# L8 K! D& Q# N, n
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
/ H( i' G% g) ^2 a3 z( EXQM=[x1',QQ',MM'];- v/ ^$ I, ~1 V7 ?% z, d2 R4 B
[Qmax,i]=max(QQ);) o8 {$ D. E7 y. h9 x
Q1=[x1(i),Qmax];0 O W- S" x2 ]3 G& p! x
[Qmin,i]=min(QQ);
( L6 c' P1 ? T. J6 o# A9 |Q2=[x1(i),Qmin];6 U9 G( t/ A- E* {9 v/ X: \2 z
[Mmax,i]=max(MM);
1 p. d, q1 b* s3 R+ J% V% g M1=[x1(i),Mmax];$ v: P( K0 J Y: M3 i% P+ Z
[Mmin,i]=min(MM);
! Q: S$ |# Y @$ s G8 x1 B; ^M2=[x1(i),Mmin];
9 Y: q- V/ P$ C) ]QDX=[Q1;Q2]
! Q) T8 p% y+ ^) y4 @MDX=[M1;M2]+ A9 p$ U- e' A/ u: Z7 ]0 A
第三子程序:
4 {9 O9 _+ {: \9 b$ \4 wfunction MM=QMM(n,x1,a,M,MM)
+ V6 p3 b) c. J6 P1 x8 e. ?2 Sfor j=1:n( I9 b$ t2 A' s) n1 m
if x1(j)==a8 p; V8 m) n% b+ {& `$ N
n1=j;% {& t2 m+ R1 J G! }$ u
end. O2 a1 `4 @* |0 Y
end
) y& ]2 T. r$ Z/ x! I- C" M+ A MM(n1:n)=MM(n1:n)+M;1 u& U/ O' b8 R5 Y$ K( s+ } E/ c
第四子程序:
% x# X( { I$ h1 ^* G/ ~% J' Ufunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM)' K% L C9 c' _/ n" x
for j=1:n
0 A4 M) e" D6 O if x1(j)==b& ?; Y9 I6 q4 G$ `+ Y
n1=j;( v% M9 { C r) Y
end3 r" O9 \0 q0 n0 h
end
. d9 S- s5 n+ D! G; X) F2 G/ m% XQQ(n1:n)=QQ(n1:n)-P;* q* ^( K: c4 c& q6 c' k
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
2 x; j8 `: p0 ^; R/ U第五子程序: }4 t* h. Q9 B" c% R: S% l/ y Q
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)+ e* i& ^0 D* F! J0 e+ I l
for j=1:n" k) t& Y& h0 q; [
if x1(j)>c
. {& c' W1 l E% E3 C, g QQ(j)=QQ(j)-q*(x1(j)-c);
2 y* [9 |1 M3 \# o! Z! h$ M% e5 [ MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;- j# h6 q1 d: c3 {
end
6 k7 o. L* g$ e; v ]3 K if x1(j)>d
# b8 z! _5 \7 B6 v! U QQ(j)=QQ(j)+q*(x1(j)-d);
- M% {: p' K9 ]2 b MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;8 M, l& a7 i a7 X: @* ?& V
end& c; f, [9 _3 O) k2 M; R2 C0 V R
end5 |* F$ ]+ x7 Q) t9 j
第六子程序: p& y) i# h. u7 K8 S3 `, q
function TU_QM(x1,QQ,MM)' M( j! T7 W! n9 e
subplot(2,1,1);4 b5 _6 L# V8 K& ]- V2 q9 |, V
plot(x1,QQ);' P% _: R0 T( d8 u5 }2 X
grid;% b8 n1 v0 d: W! q
title('剪力圖');9 y- {) o2 M5 w) s! T0 v7 n
subplot(2,1,2);
3 ~: Y3 O( m+ U. |plot(x1,MM);
/ S% G1 L1 g" @grid;
' ]& f+ W4 ]; O9 htitle('彎矩圖');6 o* h# K5 t) _
* r1 @' \2 ~; m/ H
|