本帖最后由 獨孤峰yi 于 2013-5-21 11:13 編輯
' h$ r W& P3 U- n7 O( X0 R3 C# {2 x2 A$ s. y9 d4 P, d
材料力學課程設計《左端外伸梁的剪力與彎矩圖》,由于沒有matlab基礎,早上七點半糾結到現在實在是hold不住了。我在書上找到了例題有正確答案卻不知如和用程序表達。以下是題和我寫的程序,不知道哪里錯了,希望了解的能幫幫我,謝謝啊!
6 J& u5 Y# k3 x題:
5 x1 D4 r) `, |0 B2 w9 ~- Y如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖: u/ h, J8 Q0 m5 s# b- q/ [" n
主程序:, o- x( T' O* l* b5 Q, S
clear; K' h8 s+ a5 K% r% \2 y9 o
clc;3 t. e" d' [7 K1 F4 j
L1=2;
. ^- E+ N3 W( P4 Ox=[0,2,10,12];5 b( P# n% B1 ]7 d: m6 ~
MPQ = [2 20 0 0' B& D# x. @( Z: F
3 20 0 10
% J0 t: P) Q3 J 1 160 10 0];" N! N; ^( y+ e- n/ K
XQM=QMZW(x,L1,MPQ);- B' j9 P9 |6 v( I) M* @. h9 H
第一子程序:$ q$ h. l+ C4 ]6 T$ r* \8 h
function XQM=QMZW(x,L1,MPQ)$ X) G: w3 H% v6 L! I0 Y6 {6 A9 B& o! U
[n,m]=size(x);
% d& k5 _* G# m M6 K) J' n( B L=x(m);/ x# \) l! V2 f* h+ c' n3 b& w" g X
L1=2;) |5 M3 ~0 d4 z" [$ f) D
x1=[]; \/ P% ]$ ]" r* P+ w1 k2 l9 }
for i = 1: m-1
' D* A. s- W+ |; ? x1 = [x1,linspace(x(i),x(i+1),50)];. n! B% ?9 B4 l, L
end
- F) B% V$ N( Z% F" C MM = zeros(size(x1));
3 ~# S3 P/ Y8 c# I9 z W, y; U. s/ C5 ` QQ = zeros(size(x1));
0 t4 ?5 ?, R7 Y5 h2 P [m,t] = size(MPQ);
$ e" \, j0 Z6 D9 ] [t,n] = size(x1);6 J2 w( Q t! x3 R8 H- W% X
for i=1:m
# u2 F) S3 j, F4 c: I; Y- P switch MPQ(i,1)/ T& C* y- ~6 F6 \& B: N
case 1
" v8 z" [3 J$ V; g. a a=MPQ(i,3);
. d. A" W1 N1 K" i9 J3 x, G" O M=MPQ(i,2);8 q9 Z7 B; `9 t- [+ X/ ~
RA=M/(L-L1);! [1 k* A: E; \) x
RB=-RA;, w! x1 d e* |; q
QQ=QQ+RA;1 t" w% g, f- n1 Z( u# m
MM=MM+RA*x1;( D. H% ?. _; e) h
if a>= 0&&a<L& s. o4 p% k) d
MM=QMM(n,x1,a,M,MM); 7 N; N' Z+ T( P2 F. I' }; U
end
' k+ e7 U! W: T' q if a==01 a7 E. c( M" U% p9 _
MM=MM+M;: c8 y$ {) V& X0 p9 A* u
end
2 G5 _+ t* Z; Y$ i( C# e2 H [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
- ?- [" W; J( s8 m case 22 j9 G' R0 m9 \& ~
P=MPQ(i,2);
% k2 b0 `7 f2 K; c b=MPQ(i,3);5 `3 a8 L' \$ Z/ A; p
RA=P*(L-b)/(L-L1);
# f' M) c, O/ R$ [7 i d RB=P+P*(L-b)/(L-L1);( }7 ?0 v0 F! Y, x; E2 P& a: `) K
QQ=QQ+RA;
. @2 E: S! F8 P. [ MM=MM+RA*x1; [# |& W( W: f$ j
if b>0&&b<L1 Z, ~2 Q& R9 j S
[QQ,MM]=QMP(n,x1,b,P,QQ,MM); ( j) X- p# Y/ X7 i9 y
end m( u% c$ L, T: k# J
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
I0 Z! i& F$ h) Z- ccase 3
- Q* K5 {3 P! o# V6 U/ T( c2 p q=MPQ(i,2);6 ]6 ?$ O8 w2 b; ?3 m: s) t
c=MPQ(i,3);
4 D; G& P# m4 L" W- s- q( q2 [ d=MPQ(i,4);9 p1 T7 ?8 o' |. W/ q
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);+ l! ^6 H7 D4 c' P9 {' o
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
, T2 l1 d, w i( l QQ=QQ+RA;
% L8 L8 g- }1 q4 D9 e, n3 N MM=MM+RA*x1;
6 @. g2 D9 D9 U; D+ a* X) `$ E( G9 h6 D [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
+ `1 W* h: J! }5 g3 {# _ [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
) @) y" m# D( p end
) J6 H3 H1 y- z$ q# Z1 t$ ^ end3 a0 D- G5 {" y$ ]/ {/ O0 H
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);
5 n0 \$ Z9 L }& `. x6 @ TU_QM(x1,QQ,MM); i: ]! Q0 S! N, x
第二子程序:. t w1 q$ @. O5 C G; p
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)8 |$ ]7 ^' u: K1 j, ~
XQM=[x1',QQ',MM'];
/ h" g" B- A+ a# B, k7 D[Qmax,i]=max(QQ);7 ~* ~5 f6 U R" e( s' D% e0 _
Q1=[x1(i),Qmax];5 t' D( F+ O. P, G& q& e
[Qmin,i]=min(QQ);3 V' E9 G- a$ p) n3 N' I% T
Q2=[x1(i),Qmin];2 V+ K# B A5 d4 R3 k: `
[Mmax,i]=max(MM);/ W% [; b# J! _, F3 F! q: M# o6 N
M1=[x1(i),Mmax];
; l9 w/ A' ?' m E' R$ \[Mmin,i]=min(MM);' x$ `0 d5 Z [) ~5 [5 \3 [# A
M2=[x1(i),Mmin];
t- w4 B) ^# b) d5 t: Q2 KQDX=[Q1;Q2]2 v" O1 \% ?) f) u2 { \
MDX=[M1;M2]
, L% b( t& u8 I" J0 t, \9 A第三子程序:
) [( S% H" Y: F; ]) r0 Pfunction MM=QMM(n,x1,a,M,MM)
2 u) A$ R5 q: N' W; @for j=1:n# [, U7 C+ X9 p& l+ K
if x1(j)==a
0 ~4 v0 Z' o& {7 j& \7 n/ q n1=j;
4 g9 s2 o+ r; ]. G( |& y end6 q# a6 p3 U. i$ p* E- S4 e4 Q
end
% l" V$ c$ \6 l9 Y MM(n1:n)=MM(n1:n)+M; G! L6 Q, D& O R5 T# X9 n0 }
第四子程序:" Q% L& {% A( A- _" y! {! @
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
+ f, p3 S$ ~! H) ^4 C. Xfor j=1:n' J8 t4 k( @; e2 e* p
if x1(j)==b; ~7 l1 c3 b& b; o, `+ y! `7 y" o6 E
n1=j;
" z9 _/ L: x- a5 \ end$ Z. u/ k* K' G4 _( H' B% l
end. U* \0 [' Y( a/ U) g$ \2 E; L
QQ(n1:n)=QQ(n1:n)-P;& K# j2 ~8 I- |5 w' E
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);8 s0 D; [) w" [( p1 M* U4 B5 V
第五子程序:9 P6 z; ^* I" u$ q8 X; v* q
function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
. U3 g) q! l# f$ Vfor j=1:n3 o, [8 W8 U& ^9 ]+ [
if x1(j)>c
; f# r8 J& @0 j+ _* U* f8 z* M" k QQ(j)=QQ(j)-q*(x1(j)-c);: Q0 S3 {. q! l! P/ Z" _
MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
% l, N" l3 B- b( k- `- O end
1 }. v# ]& [; G+ c3 S+ N if x1(j)>d
+ D! y+ L& n- B QQ(j)=QQ(j)+q*(x1(j)-d);* s6 ]$ `6 h7 K% \$ |+ L& J
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
3 B3 M. ?+ J1 A$ x+ V* T6 c8 a2 o3 ` end2 E+ r; J0 N8 P& R4 K: I
end. ~9 O: I8 h+ \8 E" Q. s2 e& ^
第六子程序:: j. K; N+ n9 j' R6 l' O! D3 K# l
function TU_QM(x1,QQ,MM)
5 x) j {/ m$ w# @( Wsubplot(2,1,1);$ q7 `( C) P3 d f; w2 Y0 }* q
plot(x1,QQ);$ _9 d# R8 _7 Y. \
grid;
, A( d: c; z9 K1 O* b7 t: G' ~title('剪力圖');2 k5 u: A. n1 S1 A* J
subplot(2,1,2); C1 ]; Z$ v6 K' c! \
plot(x1,MM);
8 P3 \( i+ E4 Sgrid;+ w( o7 M( w9 F: P; |4 |
title('彎矩圖');
) i: {6 f/ j5 Z, X* Z8 h+ P' c# w7 n+ d0 i7 O" j
|