|
本帖最后由 獨(dú)孤峰yi 于 2013-5-21 11:13 編輯 2 Q9 m8 O. {2 M% H8 R
6 }0 O9 d5 S8 F E
材料力學(xué)課程設(shè)計(jì)《左端外伸梁的剪力與彎矩圖》,由于沒有matlab基礎(chǔ),早上七點(diǎn)半糾結(jié)到現(xiàn)在實(shí)在是hold不住了。我在書上找到了例題有正確答案卻不知如和用程序表達(dá)。以下是題和我寫的程序,不知道哪里錯(cuò)了,希望了解的能幫幫我,謝謝啊!2 |7 l6 k- V& n8 ~) \; r
題:5 C, O& J" U) K: l7 [
如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖. j# d, P% j# Z! l' T
主程序:& L9 b1 @& f3 i3 X
clear;
- ^5 C* m2 W2 q1 @8 D$ `( w. Aclc;
0 m5 n8 N( J; {$ F8 U3 C hL1=2;
- q0 J/ E0 T! E Gx=[0,2,10,12];
0 T+ u+ Z8 {% w$ Q. X1 KMPQ = [2 20 0 0& R# {. v& T# e" W
3 20 0 10
$ ]& O+ L5 d) l. B 1 160 10 0];: {7 ? j G4 b4 b+ K
XQM=QMZW(x,L1,MPQ);/ `5 v4 Y( i2 ?& }$ s5 E
第一子程序:" C4 W" W) Y" k
function XQM=QMZW(x,L1,MPQ). P. N `( e/ b; ]! W- t) @
[n,m]=size(x);
5 J* L ] B4 m L=x(m);
) `5 r1 I) s" b6 r L1=2;" V" a* Z* E) J( {, G& f
x1=[];
5 k, u! Z( b4 R6 k( M& j for i = 1: m-1
# @& f" U0 f( m& s+ ?0 f2 ~ x1 = [x1,linspace(x(i),x(i+1),50)];
6 X7 E. z2 X# Bend 9 [. i) o: L* N* Y- a7 R* J
MM = zeros(size(x1));
" h2 u/ `, ]6 E+ d X6 ]% ~. H QQ = zeros(size(x1));
8 |1 o0 Y3 f% M [m,t] = size(MPQ);
" U$ M, a& O6 v% t7 T) B8 U; Z [t,n] = size(x1);
2 j4 ?2 A% J6 O$ p for i=1:m4 K' |5 q. |. O. M) X& s
switch MPQ(i,1)
1 }0 }/ b) q: p* Z1 I$ Ycase 1- [8 I: m) ~ e3 V; j
a=MPQ(i,3);4 m/ ?3 s/ |2 h. A" q+ m
M=MPQ(i,2); ]0 U- k+ s) \& ?" }$ ]3 f
RA=M/(L-L1);: t8 Q' \2 ]) K
RB=-RA;
" V. m1 {1 @. E7 s D& ?8 A QQ=QQ+RA;, _6 q: ]( w# a: Q
MM=MM+RA*x1;
$ m$ K9 T: x% P7 N+ C if a>= 0&&a<L
* \% Q- f$ [7 R$ u- V m MM=QMM(n,x1,a,M,MM); ) l P% }- l* E9 m0 y
end! N5 V0 b$ S/ n
if a==03 ~5 l( N: U* p
MM=MM+M;- i# _; @/ k8 q2 _
end - C. u2 O& f" a- q1 l
[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
5 N3 E! ?% }2 R9 D2 s4 ^* X: [ case 2
: ^5 d& A( \% r! J& [ P=MPQ(i,2);
3 C7 ^8 \, L0 b% ?2 l: @ b=MPQ(i,3);
G( L8 ]3 P" n RA=P*(L-b)/(L-L1);
% k; j# B4 q+ j- ] RB=P+P*(L-b)/(L-L1);
* O# l9 j9 {' X# p2 t- L QQ=QQ+RA;
# r, c6 d9 f' [7 p9 f# x MM=MM+RA*x1;2 J( g6 m$ e! p, U" t9 |2 V
if b>0&&b<L2 ^. }$ a. n: G4 q5 D" G
[QQ,MM]=QMP(n,x1,b,P,QQ,MM);
" |/ j! x( c+ v/ g& q9 q end
6 f" l) l f. C2 \( Q* o& I `! u [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
1 D# a' J$ t- D* ncase 37 v, ?( U a' w2 H
q=MPQ(i,2);* t/ s! g' d! T. p: p; g
c=MPQ(i,3);- y* q& p/ l/ |) k
d=MPQ(i,4);6 Y4 `. A; d: K5 m6 G, F; @& Y; Y
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);) a/ ?, U2 P" P
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);! X9 ~# G' w7 A, H' N7 w% V
QQ=QQ+RA;
$ ]4 d8 t [/ n- c& ? MM=MM+RA*x1;
- E" L2 C5 `% z2 [# v1 d0 h [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM); , B) l4 P& \' e0 g. d
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);9 W O7 c0 x( W, Q$ R' R$ a
end
+ ?% S6 @) \$ Q7 s* h/ { end1 j2 X6 Q4 B- w4 U1 E+ } c
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); 5 |/ @7 C% n, E1 H
TU_QM(x1,QQ,MM);
/ d2 U: g0 U; Y' N6 M2 e1 r! s0 e第二子程序:& o& d9 _8 W2 m7 D- ]4 k$ j
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
( B, `: S; b: y6 `$ P# NXQM=[x1',QQ',MM'];- v# s7 i6 B% L J& q
[Qmax,i]=max(QQ);
2 _* A# s) u. g; ]1 `' cQ1=[x1(i),Qmax];% Z# l _$ P, F8 U' {: I4 R
[Qmin,i]=min(QQ);
, G7 `# a1 i6 j+ O+ ]5 PQ2=[x1(i),Qmin];$ t- p& R7 s' l+ I q6 O
[Mmax,i]=max(MM);4 F* E) m& g7 A9 B: @
M1=[x1(i),Mmax];
) J8 _" P) m! ^% W[Mmin,i]=min(MM);7 F: i# T1 i* x8 [5 S: `# B
M2=[x1(i),Mmin];
$ C# V. H" ?) q0 NQDX=[Q1;Q2]
) i1 g, N$ @* C9 a& HMDX=[M1;M2]
7 i. n6 T2 m' P; \7 o3 |6 _% x( @第三子程序:- i% j6 F" e( @9 b8 I( f
function MM=QMM(n,x1,a,M,MM)
. f9 K, ?" D C7 @$ i/ m Pfor j=1:n
( \/ o' o9 D ^9 k if x1(j)==a. a7 b# |2 k7 T9 a) ~4 w# q
n1=j;
9 b# p- r- c# | end6 ?8 N+ g( b& y: ~/ w' r/ B+ G2 u
end
1 Y" B5 o; m ^# V9 ] MM(n1:n)=MM(n1:n)+M;9 i! g2 j" f2 c
第四子程序:
7 O% p5 c2 ]8 N Sfunction [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
3 o) A3 C' Q# i4 mfor j=1:n
: H; R, J. ^' T6 V4 A: D if x1(j)==b
, L3 I4 G3 [% @' Y n1=j;) L0 k3 { Q. r$ Q w' u; u& P
end
. V" B3 S r. R4 Lend
! ?* T1 U6 j/ T' D* b, n1 vQQ(n1:n)=QQ(n1:n)-P;3 ]# F+ P' ^, _- T' l: s9 `6 h% @+ N
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);6 L2 y( F9 V# Y+ y) z1 |9 B# {. |
第五子程序:/ A! _3 l3 O0 m
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)+ z1 g: Y9 n/ I2 k6 X' r
for j=1:n
9 l" w( r" U& }. v' y. n. e if x1(j)>c7 k+ |! w( X4 e
QQ(j)=QQ(j)-q*(x1(j)-c);
3 L1 i7 _1 y' E4 f8 [- } MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
, X, ^" A6 Y4 F4 _) p9 \ end7 ]; K4 k# d) o% E' G
if x1(j)>d
# b# C4 S0 j3 Y. d2 J9 L+ ]% A+ g2 Q QQ(j)=QQ(j)+q*(x1(j)-d);- K9 V- {& [( c# O% {5 d7 F7 y
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
2 E$ R, d0 v% ?9 {$ i) U end' b/ ?4 u4 g$ |- ^$ j4 u
end
4 N7 g) v* g$ C第六子程序:
% A/ N" I) `2 |, V3 Ifunction TU_QM(x1,QQ,MM)
( m$ ^+ m$ O/ b: vsubplot(2,1,1);1 N: i9 ^. Z$ G; A4 `3 A T
plot(x1,QQ);8 x0 m* ^! w; R3 y- f% e
grid;7 y4 w+ p/ |7 V! \2 A6 `- a
title('剪力圖');% _$ k3 Q; \; Z9 t! z5 P
subplot(2,1,2);1 x; F: ?6 E- }: c
plot(x1,MM);
6 E( C" M5 u6 Cgrid;* u+ c( C, _" r# C( ?& \% p
title('彎矩圖');0 u [" i' w' Q8 b; U ?+ p2 o
, e# G# e4 X+ e6 G |
|