|
本帖最后由 獨(dú)孤峰yi 于 2013-5-21 11:13 編輯
' D4 r1 f7 w8 j1 O. p5 K2 G/ s$ _
0 M# e! B) k3 e: j2 V' z材料力學(xué)課程設(shè)計(jì)《左端外伸梁的剪力與彎矩圖》,由于沒有matlab基礎(chǔ),早上七點(diǎn)半糾結(jié)到現(xiàn)在實(shí)在是hold不住了。我在書上找到了例題有正確答案卻不知如和用程序表達(dá)。以下是題和我寫的程序,不知道哪里錯(cuò)了,希望了解的能幫幫我,謝謝啊!
% w' U+ d, s/ K" \$ r3 ]' `題:. h' S/ l: `9 }
如圖所示F=20KN,Me=160KNm,q=20KN/m,試做梁的剪力圖和彎矩圖
3 T+ r- L; U3 b% b+ u$ U主程序:$ `6 B; N. ?. h k. p
clear;$ [3 L- {" D$ p8 A: f: L, C$ m
clc;$ {6 B$ t, E+ x( i4 l1 ^3 g4 _
L1=2;2 q/ [5 l# B$ S Q
x=[0,2,10,12];
8 j* P; U5 |7 p$ P/ tMPQ = [2 20 0 0
) h9 u9 i+ Z' k2 u$ C: ` 3 20 0 101 T% P* k8 A0 ~' P, E0 z
1 160 10 0];
. F+ K' l2 l# o' AXQM=QMZW(x,L1,MPQ);
# K0 t" N1 w+ m e第一子程序:
! o$ l( u$ s+ O7 {# L5 Cfunction XQM=QMZW(x,L1,MPQ)/ e1 ^ i& ^$ K P# Q
[n,m]=size(x);
) h2 q, I9 F7 q! ?. @ L=x(m);
( ^; Z: r* x# @- ]) M L1=2;2 K3 G0 E/ q- t2 U( g) T
x1=[];# w6 E0 ~7 O j0 R
for i = 1: m-1
1 W* _) X+ P, C+ S' w r+ I x1 = [x1,linspace(x(i),x(i+1),50)];
4 F! K& _% {" [end
8 @4 H8 ?# `" U MM = zeros(size(x1));
" d: A' \ o X z QQ = zeros(size(x1));
& U( v5 O i* Y1 U' P, D+ e [m,t] = size(MPQ);0 ]9 L E5 t6 V( T5 X7 L% y- ~5 w
[t,n] = size(x1);( V4 L0 m8 Y4 g; ] I/ k6 X
for i=1:m
6 I6 U9 F, Z8 t switch MPQ(i,1). e- ]! L6 `5 K0 O
case 1
0 w3 w) o0 D% B a=MPQ(i,3);2 f2 }' K* i& b
M=MPQ(i,2);) U l# d, S2 n$ Y, K
RA=M/(L-L1);' ^% v+ p/ F) k/ Q6 P" e) `+ t' \
RB=-RA;8 e3 `" j* r& j3 m
QQ=QQ+RA;
6 d* `, C! `. H# P5 K4 R3 s! ?3 ? MM=MM+RA*x1;
2 s- E1 I8 Z3 F- ^ if a>= 0&&a<L [: _+ z* {+ J# W' i( m8 b
MM=QMM(n,x1,a,M,MM); - r' W% ], _% H4 R
end' ~7 u6 d4 _' U j. y7 w1 R
if a==0& W; m. t. d7 N1 B1 h- J2 A2 n2 G" b( D
MM=MM+M;4 Z) `' M5 k$ H7 S- k, N
end ) e" v# f* J3 U3 U$ y: A0 Z
[QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
, u2 c, ]% ?1 Z: K3 j case 2$ j+ l3 B2 e% D, r, x7 b. P
P=MPQ(i,2);
# t! |) S8 S3 e3 m b=MPQ(i,3);- m% E4 G9 a* l' v
RA=P*(L-b)/(L-L1);) J2 ~9 z, _0 [3 t2 g
RB=P+P*(L-b)/(L-L1);
6 ?) x0 R) w+ l b- z QQ=QQ+RA;
4 i# q: a* E" ?( {) ^ MM=MM+RA*x1;& t1 K# C% \9 q/ ^& `2 ^
if b>0&&b<L
& G" v' `1 f! M" ^' p+ a3 B3 A( o3 W& ~ [QQ,MM]=QMP(n,x1,b,P,QQ,MM);
. o- K" g& D- g4 ^6 V* J end
+ h1 W2 H+ W- f2 d6 Q1 q, T" N% z [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
; W: e# y( w+ U" i: icase 3
' k. `% _. z& _% T/ p ~$ H2 T q=MPQ(i,2);+ }. R3 _; X7 {3 h" [, k
c=MPQ(i,3);( M( O( ?/ J8 \( w# n. F
d=MPQ(i,4);5 x9 e0 i# o1 M i/ m% n0 y
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);8 S$ o% y* @6 T$ `* z7 S
RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
& H2 ~- `3 x# w. ` QQ=QQ+RA;9 l: }4 E$ E9 r( j) m: Q8 h
MM=MM+RA*x1;
8 z+ _+ @2 q5 K4 K [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
" f+ y3 u+ I5 Q1 H- m2 b9 @ [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);
9 H5 C G. h/ j8 W% S& w end& [" r! z2 t, V c7 ] d( M; J
end
# C% X$ [; T2 X2 O9 R% x [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); 0 F, y. t3 T$ W9 Y) Q
TU_QM(x1,QQ,MM);
" V0 s% e- m- y$ W0 Q第二子程序:
) v, c9 E2 V0 k1 \3 pfunction [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)
. _( f4 k) O. {+ z EXQM=[x1',QQ',MM'];3 a! G( Q. Y5 O6 n: c! J7 j
[Qmax,i]=max(QQ);+ u- [' g4 E# I8 [, R: H
Q1=[x1(i),Qmax];
) s% \ Y6 \# y4 _1 X[Qmin,i]=min(QQ);
3 e5 s- n0 i5 ^. R- F% pQ2=[x1(i),Qmin];* ?# V5 J6 y' ?9 M, U* Q9 \9 `
[Mmax,i]=max(MM);0 \6 w2 _3 I& W; Q: k! p5 c p
M1=[x1(i),Mmax];
- n2 I) j: T( q: D0 T3 w# @3 u4 X @% w[Mmin,i]=min(MM);
) D, |% h0 z% W D7 v; ? E7 p7 BM2=[x1(i),Mmin];4 ^9 Z& `- j8 R$ m7 L: J
QDX=[Q1;Q2]3 o% [+ |$ l4 V6 p; Z7 f$ `
MDX=[M1;M2]6 T: s" d9 Z0 W
第三子程序:6 ^8 u2 C. l9 L
function MM=QMM(n,x1,a,M,MM)
7 a* \) i6 ~( Y* U! I; bfor j=1:n
; c+ x; \9 S# C+ `. U if x1(j)==a
7 a2 e7 B1 ~* D9 Z$ m; O) X5 A" J& v+ J n1=j;
3 ~6 {' Z3 w- X, d( W$ B% E end
; }$ H- o3 }- y2 H/ H- l1 \( Qend9 }8 _# f$ t" o0 l
MM(n1:n)=MM(n1:n)+M;* N7 i1 \- p& F% w% C- d' F% B
第四子程序:4 c- d; v2 u, o3 K; k$ F
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)3 M* M5 h% f! Z! N+ }
for j=1:n6 q* N% j: h5 G0 x+ a. i; F
if x1(j)==b# |) B" ?6 e& H. I) K. Z' ^
n1=j;! ~- N& Y0 F$ T+ N' W
end
1 ?- O9 D8 [* S& w& Y, ^& rend
5 a8 Z i( h1 G) t* B( }QQ(n1:n)=QQ(n1:n)-P;9 c/ o; j) z: C
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);5 ?* M" U2 |; v$ D: x
第五子程序:
& B( k$ o3 H7 j3 f: l- i4 yfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)/ O" i/ i* t* Y5 H1 c1 ~" d
for j=1:n
# }/ X# F/ K+ ^9 } if x1(j)>c
! I$ p. i+ x( i% ] QQ(j)=QQ(j)-q*(x1(j)-c);
8 ^6 ?/ f# B* _5 F1 p& n4 a MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;- f+ b( P! l/ ^" H3 s e+ j
end! R/ Q9 \+ Q% [
if x1(j)>d
- m0 F7 v0 f4 G/ {" z. V U QQ(j)=QQ(j)+q*(x1(j)-d);9 {1 j' z" L" {! e6 @8 A
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;+ M1 U: }/ d' u% R
end
/ _/ `0 ^4 g* Z8 w" Q# fend
! X6 [; M; }! d' i- t0 S) U第六子程序:& i7 X0 b! I+ u: |/ g1 i
function TU_QM(x1,QQ,MM)
4 B( j, Q1 ]: b9 ^' r3 V' osubplot(2,1,1);
4 A* |6 m2 R' s5 U% Z8 z- s: V" Hplot(x1,QQ);
* g0 J. j# D' [( ~grid;# S# ?+ G5 \% k
title('剪力圖');9 ?% f5 b, h% s D- ~+ N" X
subplot(2,1,2);5 y% G2 H8 V+ g, [* C4 y% o5 e7 ?
plot(x1,MM);8 r. F/ j# `* I1 b- u5 O" l
grid;% t, X6 p% o! Y
title('彎矩圖');% K. T" z$ f$ J. c: m* w8 X
5 r) H4 x' d G, k. ]' I! u8 l
|
|