独孤峰yi 发表于 2013-5-21 11:11:37

求助:关于材料力学课程设计matlab程序

本帖最后由 独孤峰yi 于 2013-5-21 11:13 编辑

材料力学课程设计《左端外伸梁的剪力与弯矩图》,由于没有matlab基础,早上七点半纠结到现在实在是hold不住了。我在书上找到了例题有正确答案却不知如和用程序表达。以下是题和我写的程序,不知道哪里错了,希望了解的能帮帮我,谢谢啊!
题:
如图所示F=20KN,Me=160KNm,q=20KN/m,试做梁的剪力图和弯矩图
主程序:
clear;
clc;
L1=2;
x=;
MPQ = [2200 0
       3200 10
       1160 10 0];
XQM=QMZW(x,L1,MPQ);
第一子程序:
function XQM=QMZW(x,L1,MPQ)
   =size(x);
   L=x(m);
   L1=2;
   x1=[];
   for i = 1: m-1
         x1 = ;
end                        
   MM = zeros(size(x1));
   QQ = zeros(size(x1));
    = size(MPQ);
    = size(x1);
   for i=1:m
         switch MPQ(i,1)
case 1
                        a=MPQ(i,3);
                        M=MPQ(i,2);
                        RA=M/(L-L1);
                        RB=-RA;
                        QQ=QQ+RA;
                        MM=MM+RA*x1;
                        if a>= 0&&a<L
                            MM=QMM(n,x1,a,M,MM);                              
                        end
                        if a==0
                           MM=MM+M;
                         end
                           =QMP(n,x1,L-L1,-RB,QQ,MM);               
case 2
                        P=MPQ(i,2);
                        b=MPQ(i,3);
                        RA=P*(L-b)/(L-L1);
                        RB=P+P*(L-b)/(L-L1);
                        QQ=QQ+RA;
                        MM=MM+RA*x1;
                        if b>0&&b<L
                           =QMP(n,x1,b,P,QQ,MM);   
                        end
                     =QMP(n,x1,L-L1,RB,QQ,MM);
case 3
                        q=MPQ(i,2);
                        c=MPQ(i,3);
                        d=MPQ(i,4);
                        RA=q*(d-c)*(L-0.5*(d+c))/(L-L1);
                        RB=q*(d-c)-q*(d-c)*(L-0.5*(d+c))/(L-L1);
                        QQ=QQ+RA;
                        MM=MM+RA*x1;
                        =QMQ(n,x1,c,d,q,QQ,MM);
                        =QMP(n,x1,L-L1,RB,QQ,MM);
         end
    end
    =MAX_MIN(x1,QQ,MM);      
    TU_QM(x1,QQ,MM);                           
第二子程序:
function =MAX_MIN(x1,QQ,MM)
XQM=;
=max(QQ);
Q1=;
=min(QQ);
Q2=;
    =max(MM);
    M1=;
=min(MM);
M2=;
QDX=
MDX=
第三子程序:
function MM=QMM(n,x1,a,M,MM)
for j=1:n
    if x1(j)==a
      n1=j;
    end
end
    MM(n1:n)=MM(n1:n)+M;
第四子程序:
function =QMP(n,x1,b,P,QQ,MM)
for j=1:n
    if x1(j)==b
      n1=j;
    end
end
QQ(n1:n)=QQ(n1:n)-P;
MM(n1:n)=MM(n1:n)-P*(x1(n1:n)-b);
第五子程序:
function =QMQ(n,x1,c,d,q,QQ,MM)
for j=1:n
    if x1(j)>c
      QQ(j)=QQ(j)-q*(x1(j)-c);
      MM(j)= MM(j)-0.5*q*(x1(j)-c)^2;
    end
      if x1(j)>d
          QQ(j)=QQ(j)+q*(x1(j)-d);
         MM(j)= MM(j)+0.5*q*(x1(j)-d)^2;
      end
end
第六子程序:
function TU_QM(x1,QQ,MM)
subplot(2,1,1);
plot(x1,QQ);
grid;
title('剪力图');
subplot(2,1,2);
plot(x1,MM);
grid;
title('弯矩图');

页: [1]
查看完整版本: 求助:关于材料力学课程设计matlab程序