matlab 单自由度 杜哈梅积分

结构动力学单自由度体系matlab

在t ∈[0,π/w]范围内的位移时程图在Duhamel 积分、分段线性插值法、中心差分法下的比较。对表达式中的结构属性自己取值,取值结果如程序中所示。Matlab 程序如下:

clear;clf;clc;

syms t ;

m=1;wn=10;k=100;w=5;p0=100;tm=pi/250;u0=0;u0m=0;

u1=p0*(-sin(w*t)*wn+sin(wn*t)*w)/m/wn/(w^2-wn^2);

uf=subs(u1,t,0:pi/250:pi/w);

t=0:pi/250:pi/w;

grid on ;hold on ;

plot(t,uf,'r-.d' , 'MarkerSize' ,10)

A=(sin(wn*tm)-wn*tm*cos(wn*tm))/k/wn/tm;

B=(wn*tm-sin(wn*tm))/k/wn/tm;

C=cos(wn*tm);

D=sin(wn*tm)/wn;

Am=(wn*tm*sin(wn*tm)+cos(wn*tm)-1)/k/tm;

Bm=(1-cos(wn*tm))/k/tm;

Cm=-1*wn*sin(wn*tm);

Dm=cos(wn*tm);

i=0:1:50;

u=[];um=[];p=[];p(i+1)=p0*sin(w*t);

z=1:1:50;a=1;

for v=z

um(1)=0;

u(1)=0;

um(a+1)=Am*p(v)+Bm*p(v+1)+Cm*u(v)+Dm*um(v);

u(a+1)=A*p(v)+B*p(v+1)+C*u(v)+D*um(v);

a=a+1;

end

plot(t,u,'k--x' , 'MarkerSize' ,15)

u0mm=(p0-k*u0)/m;

u_1=u0-tm*u0m+tm^2*u0mm/2;

k_=m/tm^2;

a=m/tm^2;

b=k-2*m/tm^2;

p_=[];u3f1=[];

z=1:1:50;

a_=1;

for v=z

u3f1(1)=u_1;

u3f1(2)=u0;

p_(a_)=p(v)-a*u3f1(v)-b*u3f1(v+1);

u3f1(a_+2)=p_(v)/k_;

a_=a_+1;

end

l=2:1:52;

u3f=[u3f1(l)];

plot(t,u3f,'g-v' , 'MarkerSize' ,8)

legend('ÀíÂÛÖµ', '·Ö¶ÎÏßÐÔ²åÖµ·¨', 'ÖзֲîÖµ·¨', 'location' , 'northeast' )

地震波自己找

结构动力学单自由度体系matlab

在t ∈[0,π/w]范围内的位移时程图在Duhamel 积分、分段线性插值法、中心差分法下的比较。对表达式中的结构属性自己取值,取值结果如程序中所示。Matlab 程序如下:

clear;clf;clc;

syms t ;

m=1;wn=10;k=100;w=5;p0=100;tm=pi/250;u0=0;u0m=0;

u1=p0*(-sin(w*t)*wn+sin(wn*t)*w)/m/wn/(w^2-wn^2);

uf=subs(u1,t,0:pi/250:pi/w);

t=0:pi/250:pi/w;

grid on ;hold on ;

plot(t,uf,'r-.d' , 'MarkerSize' ,10)

A=(sin(wn*tm)-wn*tm*cos(wn*tm))/k/wn/tm;

B=(wn*tm-sin(wn*tm))/k/wn/tm;

C=cos(wn*tm);

D=sin(wn*tm)/wn;

Am=(wn*tm*sin(wn*tm)+cos(wn*tm)-1)/k/tm;

Bm=(1-cos(wn*tm))/k/tm;

Cm=-1*wn*sin(wn*tm);

Dm=cos(wn*tm);

i=0:1:50;

u=[];um=[];p=[];p(i+1)=p0*sin(w*t);

z=1:1:50;a=1;

for v=z

um(1)=0;

u(1)=0;

um(a+1)=Am*p(v)+Bm*p(v+1)+Cm*u(v)+Dm*um(v);

u(a+1)=A*p(v)+B*p(v+1)+C*u(v)+D*um(v);

a=a+1;

end

plot(t,u,'k--x' , 'MarkerSize' ,15)

u0mm=(p0-k*u0)/m;

u_1=u0-tm*u0m+tm^2*u0mm/2;

k_=m/tm^2;

a=m/tm^2;

b=k-2*m/tm^2;

p_=[];u3f1=[];

z=1:1:50;

a_=1;

for v=z

u3f1(1)=u_1;

u3f1(2)=u0;

p_(a_)=p(v)-a*u3f1(v)-b*u3f1(v+1);

u3f1(a_+2)=p_(v)/k_;

a_=a_+1;

end

l=2:1:52;

u3f=[u3f1(l)];

plot(t,u3f,'g-v' , 'MarkerSize' ,8)

legend('ÀíÂÛÖµ', '·Ö¶ÎÏßÐÔ²åÖµ·¨', 'ÖзֲîÖµ·¨', 'location' , 'northeast' )

地震波自己找


相关文章

  • 基于MATLAB的悬臂梁大变形分析_王逸维
  • 750力学与实践2015年第37卷 基于MATLAB 的悬臂梁大变形分析 王逸维1) 王杰沈杰陈梦羽余晓平 (南京航空航天大学能源与动力学院, 南京210016) [2] 摘要主要研究悬臂梁大变形的挠度求解问题. 通过推导悬臂梁自由端受集中 ...查看


  • 用MATLAB符号工具箱编程求常微分方程的通解
  • 洛阳师范学院学报2005年第2期・81・ 用MATLAB符号工具箱编程求常微分方程的通解 唐洪浪,桂现才 (湛江师范学院数学系,广东湛江524048) 摘 要:用MATLAB的函数dsolve解常微分方程时,只能得出解析解,对于解的结果只能 ...查看


  • MATLAB在微积分中的应用
  • MATLAB在微积分中的应用 MATLAB是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件.被誉为"巨人肩上的工具".用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演 ...查看


  • 实验一连续信号的表示
  • 实验1 时域连续信号的表示及运算 一. 实验目的 1.掌握常用时域连续信号的MA TLAB 表示方法. 2.掌握连续信号的基本运算,包括信号相加与相乘.微分与积分.平移.反转.尺度变换.奇偶分解.卷积积分等. 二. 实验原理及方法 MATL ...查看


  • 微机继电保护实验报告
  • 课程名称:微机继电保护 实验项目:电力系统继电保护仿真实验 实验地点:电力系统仿真实验室 专业班级:电气 学生姓名:指导教师: 本科实验报告 1200学号:0000000000 000000 000000 2015年 12 月 2 日 微机 ...查看


  • MATLAB在工程力学教学中的应用
  • 摘 要 针对传统工程力学教学中,较为复杂的计算和作图不便于学生全面理解学习内容.且占用过多课堂教学时间的问题,将计算和作图交给计算机,运用MATLAB数学计算软件编制程序来解决,大大提高课堂教学效率,提升了学生的学习效率,加深了学生对所学内 ...查看


  • [微积分应用基础]课程教学大纲
  • <微积分应用基础>课程教学大纲 课程代号: 学时数:64 理论学时数:54 实践学时数:10 学分:4 开课单位:基础部 一.本课程的性质.地位和作用 <微积分应用基础>是全院工科类.经管类各专业必修的公共基础课. ...查看


  • 基本求导积分公式
  • 1.基本求导公式 ⑴ (C ) '=0(C 为常数)⑵ (x n ) '=nx n -1:一般地,(x α) '=αx α-1. 特别地:(x ) '=1,(x 2) '=2x ,() '=- x 1 1x 2 ,(x ) '= 12x . ...查看


  • 现代控制理论
  • 研究生<现代控制理论及其应用>课程小论文 题 目 基于MATLAB的前悬架车辆振动特性 学院 机械工程学院 班级 机研104 姓名 张启国 2010 年 6月 27 日 目 录 一.问题描述及状态空间表达式建立„„„„„„„„„ ...查看


热门内容