欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    哈工大 材料力学 MATLAB 梁 上机 大作业.pdf

    • 资源ID:75980866       资源大小:167.04KB        全文页数:9页
    • 资源格式: PDF        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    哈工大 材料力学 MATLAB 梁 上机 大作业.pdf

    本程序只支持静定结构的梁(左端悬臂梁、简支梁)函数输入格式:beamsolver(L,EI,supports,loads,maxdx);参量的输入格式:L=10.0EI=2e8supports=f,0,v,10.0-左端悬臂梁supports=p,2.0,r,8.0 -简支梁loads=f,2.0,1000,m,4.0,500,d,7.0,9.0,3.0,20,100maxdx=0.01输出为 V,M,vy,x 的一维行向量和三张坐标图-图 1:剪力 V 图,图 2:弯矩 M 图,图 3:挠度vy 图.范例:悬臂梁:纯受集中力:beamsolver(10.0,2e8,f,0,v,10.0,f,2.0,1000,0.01)纯受集中矩:beamsolver(10.0,2e8,f,0,v,10.0,m,4.0,500,0.01)纯受分布力(格式一):beamsolver(10.0,2e8,f,0,v,10.0,d,7.0,9.0,3.0,20,100,0.01)纯受分布力(格式二):beamsolver(10.0,2e8,f,0,v,10.0,d,(7.0:0.01:9.0);(0:0.01:2.0).2,0.01)受混合力:beamsolver(10.0,2e8,f,0,v,10.0,f,2.0,1000,m,4.0,500,d,7.0,9.0,3.0,20,100,0.01)简支梁:纯受集中力:beamsolver(10.0,2e8,p,2.0,r,8.0,f,5.0,1000,0.01)纯受集中矩:beamsolver(10.0,2e8,p,2.0,r,8.0,m,4.0,500,0.01)纯受分布力(格式一):beamsolver(10.0,2e8,p,2.0,r,8.0,d,7.0,9.0,3.0,20,100,0.01)纯受分布力(格式二):beamsolver(10.0,2e8,p,2.0,r,8.0,d,(7.0:0.01:9.0);(0:0.01:2.0).2,0.01)受混合力:beamsolver(10.0,2e8,p,2.0,r,8.0,f,5.0,1000,m,4.0,500,d,7.0,9.0,3.0,20,100,0.01)以上范例输出的剪力 V 图、弯矩 M 图都经过笔算检验完全正确。悬臂梁的挠度经检验为正确的,简支梁的挠度有误(整个程序的唯一错误)。function x,V,M,vy=beamsolver(L,EI,supports,loads,maxdx)%材料力学上机课作业(满分)%本 DOC 文件由 M 文件转换而成,可能有格式错误%班级;1036*(专业班级 1036*)%支持两种梁的模型:%1.左端悬臂梁%2.一端 pin 一端 roller 的简支梁%输入格式:beamsolver(L,EI,supports,loads,maxdx);%例如:L=10.0,EI=2e8,supports=f,0,v,10.0,loads=f,2.0,1000,m,4.0,500,d,7.0,9.0,3.0,20,100,maxdx=0.01%输出为三张坐标图,图 1:剪力 V 图,图 2:弯矩 M 图,图 3:挠度 vy 图.%fixed-freeif(supports11=f&supports21=v)n=1;M=linspace(0,0,L/maxdx);V=linspace(0,0,L/maxdx);while n=length(loads)%P-fixed-free-if loadsn1=f x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标 V1=linspace(loadsn2(2),loadsn2(2),n1);%第一段剪力赋值 V2=zeros(1,L/maxdx-n1);%第二段剪力赋值 M1=-loadsn2(2)*(loadsn2(1)-x(1:n1);%第一段弯矩赋值 M2=zeros(1,L/maxdx-n1);%第二段弯矩赋值 M=M+M1,M2;%全梁的弯矩 V=V+V1,V2;%全梁的剪力 end%M-fixed-free-if loadsn1=m x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标 M1=linspace(loadsn2(2),loadsn2(2),n1);%第一段弯矩赋值 M2=zeros(1,L/maxdx-n1);%第二段弯矩赋值 M=M+M1,M2;%全梁的弯矩 end%q-fixed-free-if loadsn1=d x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标 n2=loadsn2(2)/maxdx;%确定 x=L2 处对应的下标 k=length(loadsn2)-4;A=size(loadsn2);if A(1)=1%如果是第一种 q 的输入情况 ks=1;q2=linspace(loadsn2(4),loadsn2(4),n2-n1+1);while ks=k k0=loadsn2(4+ks);q2=q2+k0*(x(n1:n2)-loadsn2(3);ks=ks+1;end q1=zeros(1,n1-1);q3=zeros(1,L/maxdx-n2);q0=q1,q2,q3;q=fliplr(q0);%求出 q Vq0=cumsum(q)*maxdx;Vq=fliplr(Vq0);%求出剪力 V Mq0=-cumsum(Vq0)*maxdx;Mq=fliplr(Mq0);%求出弯矩 M end if A(1)=2%如果是 q 的第二种输入情况 q2=loadsn2(2,:);%表示出 q2 n1=loadsn2(1,1)/maxdx;%定出 q 开始的坐标 B=length(loadsn2);%求 q 的长度 n2=loadsn2(1,B)/maxdx;%定出 q 结束的坐标 q1=zeros(1,n1-1);q3=zeros(1,L/maxdx-n2);q0=q1,q2,q3;%求出 q0 q=fliplr(q0);Vq0=cumsum(q)*maxdx;Vq=fliplr(Vq0);%求出剪力 V Mq0=-cumsum(Vq0)*maxdx;Mq=fliplr(Mq0);%求出弯矩 M end M=M+Mq;%全梁的弯矩 V=V+Vq;%全梁的剪力 end n=n+1;end V=V M=M A=cumsum(M)*maxdx/EI;%对弯矩积分求转角 vy=cumsum(A)*maxdx%对转角积分求挠度 subplot(3,1,1),plot(x,V),grid;%绘图 subplot(3,1,2),plot(x,M),grid;subplot(3,1,3),plot(x,vy),grid;end%分割线-%pin-roller-if(supports11=p|supports11=r)&(supports21=p|supports21=r)n=1;np=supports12/maxdx;nr=supports22/maxdx;M=linspace(0,0,L/maxdx);V=linspace(0,0,L/maxdx);while n=length(loads)%P-pin-roller-if loadsn1=f x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标Nr=loadsn2(2)*(loadsn2(1)-supports12)/(supports22-supports12);if n1np&n1nr%力作用在支架右边 V1=zeros(1,np-1);V2=linspace(loadsn2(2)-Nr,loadsn2(2)-Nr,nr-np);V3=linspace(loadsn2(2),loadsn2(2),n1-nr);V4=zeros(1,L/maxdx-n1+1);V=V+V1,V2,V3,V4;M1=zeros(1,np-1);M2=(loadsn2(2)-Nr)*(x(np:nr-1)-supports12);M3=-loadsn2(2)*(loadsn2(1)-x(nr:n1-1);M4=zeros(1,L/maxdx-n1+1);M=M+M1,M2,M3,M4;end end%M-pin-roller-if loadsn1=m x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标 if n1np&n1nr%弯矩作用在支架右边 Np=loadsn2(2)/(supports22-supports12);Nr=Np V1=zeros(1,np-1);V2=linspace(Np,Np,nr-np);V3=zeros(1,L/maxdx-nr+1);V=V+V1,V2,V3;M1=zeros(1,np-1);M2=Np*(x(np:nr-1)-supports12);M3=linspace(loadsn2(2),loadsn2(2),n1-nr);M4=zeros(1,L/maxdx-n1+1);M=M+M1,M2,M3,M4;%全梁的弯矩 end end%q-pin-roller-if loadsn1=d x=linspace(maxdx,L,L/maxdx);%将 x 分为小量 n1=loadsn2(1)/maxdx;%确定 x=L1 处对应的下标 n2=loadsn2(2)/maxdx;%确定 x=L2 处对应的下标 k=length(loadsn2)-4;A=size(loadsn2);if A(1)=1%如果是第一种 q 的输入情况 ks=1;q2=linspace(loadsn2(4),loadsn2(4),n2-n1+1);while ks=k k0=loadsn2(4+ks);q2=q2+k0*(x(n1:n2)-loadsn2(3);ks=ks+1;end q1=zeros(1,n1-1);q3=zeros(1,L/maxdx-n2);q0=q1,q2,q3;F=q0*maxdx;%等效为很多个力作用在杆上 nF=length(F);%找出 F 的最后一点值得坐标 X=1;while X=nF if F(X)=0 Nr=F(X)*(X-np)/(nr-np);if Xnp&Xnr%力作用在支架右边 V1=zeros(1,np-1);V2=linspace(F(X)-Nr,F(X)-Nr,nr-np);V3=linspace(F(X),F(X),X-nr);V4=zeros(1,L/maxdx-X+1);V=V+V1,V2,V3,V4;M1=zeros(1,np-1);M2=(F(X)-Nr)*(x(np:nr-1)-supports12);M3=-F(X)*(X*maxdx-x(nr:X-1);M4=zeros(1,L/maxdx-X+1);M=M+M1,M2,M3,M4;end end X=X+1;end end if A(1)=2%如果是 q 的第二种输入情况 q2=loadsn2(2,:);%表示出 q2 n1=loadsn2(1,1)/maxdx;%定出 q 开始的坐标 B=length(loadsn2);%求 q 的长度 n2=loadsn2(1,B)/maxdx;%定出 q 结束的坐标 q1=zeros(1,n1-1);q3=zeros(1,L/maxdx-n2);q0=q1,q2,q3;%求出 q F=q0*maxdx;%等效为很多个力作用在杆上 nF=length(F);%找出 F 的最后一点值得坐标 X=1;while X=nF if F(X)=0 Nr=F(X)*(X-np)/(nr-np);if Xnp&Xnr%力作用在支架右边 V1=zeros(1,np-1);V2=linspace(F(X)-Nr,F(X)-Nr,nr-np);V3=linspace(F(X),F(X),X-nr);V4=zeros(1,L/maxdx-X+1);V=V+V1,V2,V3,V4;M1=zeros(1,np-1);M2=(F(X)-Nr)*(x(np:nr-1)-supports12);M3=-F(X)*(X*maxdx-x(nr:X-1);M4=zeros(1,L/maxdx-X+1);M=M+M1,M2,M3,M4;end end X=X+1;end end end n=n+1;end V=V M=M A=cumsum(M)*maxdx/EI;%对弯矩积分求转角 vy=cumsum(A)*maxdx%对转角积分求挠度 subplot(3,1,1),plot(x,V),grid;%subplot(3,1,2),plot(x,M),grid;subplot(3,1,3),plot(x,vy),grid;end绘图

    注意事项

    本文(哈工大 材料力学 MATLAB 梁 上机 大作业.pdf)为本站会员(修****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开