本帖最后由 獨孤峰yi 于 2013-5-21 11:13 編輯 ! X }1 c, w% q8 M" Z, G9 D
2 ]+ i" ?; V" p1 J/ Q, M* g材料力學課程設計《左端外伸梁的剪力與彎矩圖》,,由于沒有matlab基礎,,早上七點半糾結到現(xiàn)在實在是hold不住了,。我在書上找到了例題有正確答案卻不知如和用程序表達,。以下是題和我寫的程序,,不知道哪里錯了,,希望了解的能幫幫我,,謝謝啊,!
1 T! u$ M4 J1 K o題:% V9 J) M6 J6 V) I# L: q
如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖
( ^# X* o, d6 m# N3 N主程序:: w; S2 X; ^2 f! m( k1 {
clear;
# `$ j+ r" s( H7 s& ~clc;$ a/ ]- j% W% v, ]- s8 y
L1=2;- f# m* w! R4 u- T: L. \ C
x=[0,2,10,12];0 C# h# i" F- N: ?( V) T
MPQ = [2 20 0 0
0 @2 O$ K$ W5 }) [, ^% p. X& k 3 20 0 10+ Y$ k C$ }! h" q' a
1 160 10 0];
8 l* L, e4 }, x# }! xXQM=QMZW(x,L1,MPQ);
& V$ y5 ^" ~5 b8 l1 R- C+ a* m第一子程序:
0 q2 ~) Y% x K) o9 g( ?function XQM=QMZW(x,L1,MPQ)
1 h5 @' `& ~/ _! ^0 F$ R2 B [n,m]=size(x);
: T$ H& g# c" k, L' i L=x(m);' J2 ?$ d0 M( x. `! `
L1=2;. M8 t/ R4 e3 L2 J' K0 S. k
x1=[];9 ~4 Y; M) Q% f) t
for i = 1: m-1( x8 C( W; F6 _' P% E! V, J$ _( N
x1 = [x1,linspace(x(i),x(i+1),50)];, |/ i. K- r0 S3 w) D
end ( p7 \. @. O: _, C5 V/ h- v
MM = zeros(size(x1));, ?" q4 i. K7 @" m y: m
QQ = zeros(size(x1));
. p# `( K" k- S3 c$ Q [m,t] = size(MPQ);* j% q$ L4 T( d
[t,n] = size(x1);
$ i7 B. w8 z; Z; T( b7 L8 Q- E for i=1:m# X3 F# z- w9 d, ]3 \6 Z3 O# z
switch MPQ(i,1)# @2 \! ]! B7 v) Z& A: f$ K+ T! {
case 1( r- B( [7 m/ ?4 a( i6 `
a=MPQ(i,3);
' v* Y! d$ }/ @ M=MPQ(i,2);8 K$ F% M. x+ T; v- O% \
RA=M/(L-L1);
7 Z8 f) @1 U# i. v$ _6 z+ Q( \1 ` RB=-RA;
" p& h2 P8 t+ H: B- o QQ=QQ+RA;
3 N4 G6 g0 O& X" r0 x9 Y2 z1 t MM=MM+RA*x1;
$ B: k n) H: ~# M( t if a>= 0&&a<L
^. l5 @6 E6 N0 g/ U MM=QMM(n,x1,a,M,MM); / r7 W6 H9 j4 A" ^
end
, d6 i' v* @6 R7 H# Q; F if a==05 [! j, x7 i( a5 N3 u6 ]
MM=MM+M;
4 D, Z5 i8 {6 G0 j$ I2 t. d end
' I* [, |9 Z% c2 y y; ^ [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM); # @ _5 t0 r1 G& i
case 29 k7 h# q5 W* L, t. J* R
P=MPQ(i,2);7 k) ` ]8 O* d m
b=MPQ(i,3);7 \3 K( H( z* d
RA=P*(L-b)/(L-L1);4 n4 c5 C( h% D/ S
RB=P+P*(L-b)/(L-L1);
8 j0 _4 O, f% A& H4 T5 ~ QQ=QQ+RA;1 j4 R7 W9 n( u/ |6 {6 s, |; a4 j H1 s
MM=MM+RA*x1;
$ U X: K+ v9 |6 f1 F4 l if b>0&&b<L0 ?6 G5 s% h- N2 L" j& l6 J" j
[QQ,MM]=QMP(n,x1,b,P,QQ,MM);
- Y9 c5 {2 r+ W% M3 c- ` end, a X& y0 L! J2 V7 y
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
* ~( W8 V: x8 x) vcase 3
& J1 x, R( O" h; y* P q=MPQ(i,2);
1 v$ C- T( @; L" I! b. @ c=MPQ(i,3);/ I1 h3 ]3 ~" v7 x
d=MPQ(i,4);% |- n8 M0 ?, w( V! t7 I- y
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);
0 [8 Q! L( u" Q* z7 c RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
/ A$ T1 ]( G9 z$ y QQ=QQ+RA;4 e- K3 b# @( H% m$ M
MM=MM+RA*x1;; W# }0 c0 B+ q( {) M
[QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM); 8 O" W- Q& |& k5 X6 ~5 q- d- s1 u
[QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);8 ^; \/ O6 m6 Z* t$ Q
end0 e* C& p% Z5 y& z3 t
end! R8 y) `! \. @% @
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM);
) f3 Y$ Y- `; D0 v, Y( g TU_QM(x1,QQ,MM); 1 p9 M8 L _$ }! _3 @4 P- N
第二子程序:( q5 B5 c. [+ R3 @. G n
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)1 k# t, ?2 T$ \! e
XQM=[x1',QQ',MM'];
- ^ _/ c1 ]# |. W# V5 `$ E K[Qmax,i]=max(QQ);- R$ p B' W/ U! Y) ~. h3 `1 r4 Y
Q1=[x1(i),Qmax];8 ~6 E# r7 R8 `. T, j. A7 `
[Qmin,i]=min(QQ);
# G( \1 E7 z( K6 @Q2=[x1(i),Qmin];
$ |8 B2 l. \( q3 I7 Z t1 G* L [Mmax,i]=max(MM);7 H& W" ^2 a$ _+ f* U, Y5 [
M1=[x1(i),Mmax];
7 M$ z& `4 P& ~" v% f# f[Mmin,i]=min(MM);
2 l, |: V, j, D& M8 a& hM2=[x1(i),Mmin];
- u3 e( E, d7 O1 i; U {QDX=[Q1;Q2]
, F" n# ]/ w: V9 SMDX=[M1;M2]4 w/ \8 h9 z, T( _( r1 @" R+ W
第三子程序:
/ h+ |$ V# m' j) Z* Pfunction MM=QMM(n,x1,a,M,MM)
0 D6 x0 I5 v2 @9 q6 Pfor j=1:n
& O* M, w7 l1 B5 R0 d( g( G if x1(j)==a
) m$ \( K* [5 ?2 Q* U n1=j; l9 f7 ~- s- _+ `
end0 B' b C- [& W6 R$ h, l, ]/ y% c
end
0 G$ Q$ J) a; O. }- {9 c MM(n1:n)=MM(n1:n)+M;
/ \( j# K, l Y* i! A3 o第四子程序:" ^% N9 I4 C* R" B. R4 \" \
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)
' o" k2 x( ^8 o. C/ H1 _for j=1:n, J" | b, E- M
if x1(j)==b
7 W0 u) O: `( u$ `4 q: t n1=j;
% Y$ q+ E8 E' t end
. S% Z" c" l- d9 ?0 c- o, U) Qend6 l7 H. a9 e/ @5 I/ M- y
QQ(n1:n)=QQ(n1:n)-P;4 s: ^# Z/ q8 Y4 F
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
6 m& T/ J2 v& {, z/ E1 J第五子程序:
$ H* C: H- i4 B. `function [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)
( n" g, l( M' W# Mfor j=1:n( v2 q5 N+ ]) z
if x1(j)>c" [$ d2 W# b% F- W$ H
QQ(j)=QQ(j)-q*(x1(j)-c);% x& L4 L/ n6 J% w
MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
! a# w8 f: ]4 [7 k end7 m% s% i1 a4 u' h
if x1(j)>d4 i4 m; x3 ]2 h5 x* Q2 @' ?
QQ(j)=QQ(j)+q*(x1(j)-d);
4 \: e8 U- E J8 R MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
4 h7 y( |/ M1 N; u8 h3 m( z( l end" v1 r( G! W/ ]6 D3 d2 I3 d3 h1 y5 C
end2 C4 }# u4 v+ t) P- w" Z* Z
第六子程序:
1 L: Q+ `& u5 A7 W$ S5 |function TU_QM(x1,QQ,MM)
Z1 t; m5 B# v7 l/ C4 P4 Zsubplot(2,1,1);
3 @: g+ X; `( W& D. B% i# Fplot(x1,QQ);
3 J( J) Q0 O; M& s, m7 [4 Ogrid;/ F3 j" m+ ~; s: a3 R! }
title('剪力圖');
# H- f4 j. I6 d& Asubplot(2,1,2);1 C1 u8 q! j9 ^3 o2 t; |6 p9 s+ x
plot(x1,MM);
7 M+ ]/ k. i% p+ m, I C- Ggrid;0 A2 t! c/ q( c/ ^3 Y4 w- H
title('彎矩圖');
/ E2 m0 {' k' [( Q2 M: ~
1 Q4 K! l7 a9 _$ |# F( p3 S. C |