本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑 ! Y% g( o' i. S& q1 q$ M4 I6 w
+ c. L9 k/ v* r% l$ t材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊!
3 p0 ]$ i0 K0 \ i1 ^+ Z题:
, z- @/ q6 H7 \6 [2 K5 y$ Z如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图4 K+ `7 R+ [+ X( b+ a% b9 E0 n- l
主程序:5 l* n# a; G% {3 f# b
clear;! P$ C! m1 @+ w. n
clc;
, U1 s& y+ q! ~* p4 M8 i6 BL1=2;; _3 T& n1 N% v( ]' z5 {% p4 N
x=[0,2,10,12];
" n% @# [! p1 s9 X% D' OMPQ = [2 20 0 01 r* K7 j8 @6 L% ]( w( ?7 Y( ]5 n
3 20 0 10
2 r4 s/ v$ g+ t) V4 { 1 160 10 0];
5 b" ]% E& ^; K8 r, Y/ q* Z* iXQM=QMZW(x,L1,MPQ);6 w$ K' s/ Q( |" X$ a: S
第一子程序:
6 s( f% X7 y# ^% w0 \5 J& afunction XQM=QMZW(x,L1,MPQ)4 W, z9 l* [6 a4 R C2 A% t
[n,m]=size(x);
% I4 G7 e q2 a: y L=x(m);# c V- L8 w3 R' N [9 s0 c
L1=2;
! H! z- j7 f$ [- y& ?# m x1=[];
9 o9 ^. k: L* N6 o' J& V+ n for i = 1: m-11 I7 A2 s" ^( o
x1 = [x1,linspace(x(i),x(i+1),50)];
/ ^ j# s: Q+ O1 ?" u# bend
8 u# p8 B* d ]' R! O1 c# T MM = zeros(size(x1));- n- l9 p$ ]8 A9 n& O* i+ x" V
QQ = zeros(size(x1));
% f5 Y4 q2 _' G7 F& d& I1 V [m,t] = size(MPQ);
+ v, a4 n% E' }+ c0 p9 s [t,n] = size(x1);
/ t9 k. R" c! a' ~ for i=1:m2 x: L! @6 c7 y( k+ S7 A- q
switch MPQ(i,1)
4 S1 }" _. R( S3 Y, F4 Scase 1
1 S6 d3 h G2 d9 o( ^ a=MPQ(i,3);( v( t5 y; r) E
M=MPQ(i,2);& G! l3 p3 _! }& y3 L
RA=M/(L-L1);4 e8 y- W9 l3 [- p8 E5 ^& _+ B
RB=-RA;
" q# N& s" y7 W9 F# ? QQ=QQ+RA;4 R2 T* g$ E* d1 h0 ~) M( w
MM=MM+RA*x1;2 W( \7 a" B. o5 g G' z7 Q$ K2 H- `9 j
if a>= 0&&a<L& w3 h% D) ^( t( `6 B5 ~
MM=QMM(n,x1,a,M,MM); " T4 s) [( a& t: K- g+ x$ L
end
$ p: c1 M; x; N# _ if a==0
+ _! T- t4 R5 I MM=MM+M;! B! ]$ f' ?" y3 S* T# m
end
6 x5 b" f- g6 T% X [QQ,MM]=QMP(n,x1,L-L1,-RB,QQ,MM);
* m8 k! x: @9 y% @4 H* b5 [5 Y case 2) n! z( D/ y3 y& k$ A3 h
P=MPQ(i,2);. V( g* _* p, G- q% @
b=MPQ(i,3);3 o; I o0 V9 a- ~
RA=P*(L-b)/(L-L1);
6 f a, U' O! M: _! Q: m( P RB=P+P*(L-b)/(L-L1);, _ L& k: Q" c+ Y
QQ=QQ+RA;
' L1 H0 ]" [1 n O: g! X: c MM=MM+RA*x1;3 G5 B# F6 u- p# m9 ]2 E
if b>0&&b<L
* U! F9 [1 u/ @* J0 w4 b [QQ,MM]=QMP(n,x1,b,P,QQ,MM); 8 D* K3 b! C- X( H9 f" g
end
. v. s8 v+ q- n/ w9 \* o$ f2 q9 J [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);, m8 d- a/ d. c
case 3
. k0 w0 H" Q" T q=MPQ(i,2);$ ]! w1 U8 H# q9 r
c=MPQ(i,3);
3 [+ `$ |. j$ l; a; O# `8 F d=MPQ(i,4);/ i( H; M; B& e" z! k1 M
RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);
' s' W# D/ E( ~. L9 U+ e RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
( m6 z8 W. S8 d- `) o7 A QQ=QQ+RA;
& `( v8 V/ n; W MM=MM+RA*x1;
/ i& L8 D: ]% v [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM);
! q( ^6 W8 P$ Z/ d4 F+ L+ r6 e [QQ,MM]=QMP(n,x1,L-L1,RB,QQ,MM);# S! J8 A% `1 h" T9 ]# Q
end9 e y) H L5 f2 b4 W
end3 h/ X( a) d9 T2 Q& y
[QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM); ) N) E' C y2 @) p
TU_QM(x1,QQ,MM); 6 s! T1 ~! M0 \: b- D, Y
第二子程序:; [. V; K/ r" M: ^8 d% z2 Y/ c0 t! Z
function [QDX,MDX,XQM]=MAX_MIN(x1,QQ,MM)& T, p7 m$ O ^& R5 k- k/ o3 D" i, b# c
XQM=[x1',QQ',MM'];
* p7 e8 W4 R4 \) ?3 c9 t[Qmax,i]=max(QQ);& d$ d% b, m- C# F4 x) J v
Q1=[x1(i),Qmax];
, G( w, e W- b: U t/ Y0 K[Qmin,i]=min(QQ);( {4 M: F, i9 R; m
Q2=[x1(i),Qmin];" x# u, w! E: h% J `1 o
[Mmax,i]=max(MM);$ g% N, X! L; z: o
M1=[x1(i),Mmax];1 T4 k4 h7 K+ |- k6 @* Q
[Mmin,i]=min(MM);
5 e* o9 x, G0 ^M2=[x1(i),Mmin];7 H+ g6 h0 h9 g
QDX=[Q1;Q2]
# X7 f% j3 m# v) z. s( p0 hMDX=[M1;M2]
0 N3 `# W+ J' K( Y第三子程序:
7 ]9 x! |7 v0 {2 ofunction MM=QMM(n,x1,a,M,MM). c$ f4 y% P: Y0 c3 \- [/ E
for j=1:n9 L* t# ]2 N: [& I: } P
if x1(j)==a4 Y. h/ r! U1 R. `
n1=j;
* h. i& J L& p6 C8 q; M! t5 d3 P end. M3 z8 J, E- }( Z
end8 l1 f# G+ _8 s+ S4 z
MM(n1:n)=MM(n1:n)+M;9 Y! Q# F: _8 F& ^$ m! i6 t0 m: y
第四子程序:: O7 G( m) U. k# k) C2 ?
function [QQ,MM]=QMP(n,x1,b,P,QQ,MM)+ _% V6 m3 J6 F
for j=1:n
8 x1 ~' |+ E8 ~. x if x1(j)==b
; K" |# j4 Z O+ l% ?8 }" f n1=j;) [9 ]* p6 s0 o' g
end
5 h6 T! D$ a( H% S2 `end5 |! d( N/ e0 F% {
QQ(n1:n)=QQ(n1:n)-P;
7 E% ^9 V0 k1 |% ]) WMM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
' |1 {# C. E0 _$ h( u第五子程序:
2 {( g m5 Z: s z1 k* f7 h/ F& qfunction [QQ,MM]=QMQ(n,x1,c,d,q,QQ,MM)/ u9 g4 n) G0 o5 B, o
for j=1:n
$ Q, u9 h( \/ }% B' l: h if x1(j)>c
2 F1 |$ f% J& U QQ(j)=QQ(j)-q*(x1(j)-c);8 o, z, Q1 k7 _& Q5 P6 ^
MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
4 h: @5 o. K T- _2 n% ?7 f0 F end
% I* ~7 |( u7 n! y' K if x1(j)>d2 I O4 r0 q! h4 g/ T8 _4 Q- t- B
QQ(j)=QQ(j)+q*(x1(j)-d);, M+ ]$ w6 B4 P% t5 M' s) H
MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
; F* T: q$ H6 `" N% R% r end2 E1 g; ^7 C5 q& Z
end9 A* \0 D9 U* |6 O, `' i/ V C [
第六子程序:
! e7 e* w' k$ c$ n7 {5 Bfunction TU_QM(x1,QQ,MM); g2 `- `7 Z, [! H4 X6 j. j
subplot(2,1,1);% Z9 e3 s' I( E: n' W$ f" F& h
plot(x1,QQ);
4 N0 \0 Z# _; e1 S, Ggrid;
7 V/ N7 Z! r' V( btitle('剪力图');( a: J a {7 P. x+ W; z
subplot(2,1,2);" [: b$ Z* b8 J
plot(x1,MM);$ [5 A8 e8 S+ r, n4 j0 u- ?
grid;! O5 N% q$ M# }: w
title('弯矩图');
+ y! ]( U K( r
& h* Q* i- O. K' V S, {: t" Y |