采用Newmark-β法求解振动方程——MATLAB
声明:该博文仅用于matlab学习!
以四层刚架为例进行计算分析。某四层框架结构在顶部受一个简谐荷载的作用:
力的作用时间t1=5.0s,F0=100N。试计算响应的时间为20s(计算分2000步完成)。阻尼矩阵由Rayleigh阻尼构造。
MATLAB程序编写如下:
m=[1,2,3,4];
m=diag(m);
k= [800 -800 0 0; -800 2400 -1600 0; 0 -1600 4800 -3200; 0 0 -3200 8000];
c=0.05m+0.02k;
f0=100;
t1=5;
nt=2000;
dt=0.01;
gama=0.5;
beta=0.25;
a0=1/ beta/dt/dt;
a1=gama/ beta /dt;
a2=1/beta/dt;
a3=1/2/ beta -1;
a4=gama/beta-1;
a5=dt/2*(gama/ beta-2);
a6=dt*(1-gama);
a7=dt*gama;
d=zeros(4,nt+1);
v=zeros(4,nt+1);
a=zeros(4,nt+1);
tt=zeros(1,nt+1);
for i=2:(nt+1)
tt(1,1)=1dt;
tt(1,i)=idt;
t=(i-1)dt;
if (t<t1),
f=[f0sin(4pit/t1);0;0;0];
else
f=[0;0;0;0];
end
ke=k+a0m+a1c;
fe=f+m*(a0d(:,i-1)+a2v(:,i-1)+a3a(:,i-1))+c(a1d(:,i-1)+a4v(:,i-1)+a5a(:,i-1));
d(:,i)=inv(ke)fe;
a(:,i)=a0(d(:,i)-d(:,i-1))-a2v(:,i-1)-a3a(:,i-1);
v(:,i)=v(:,i-1)+a6a(:,i-1)+a7*a(:,i);
end
figure;
plot(tt(1,:),d(1,:))
ylabel(‘位移/[m]’,‘fontsize’,20);
grid on;
xlabel(‘时间/[s]’,‘fontsize’,20);
title(‘顶层楼板位移响应时程’,‘fontsize’,25);
采用Newmark-β法求解振动方程——MATLAB相关推荐
- NewMark法求解动力学响应
问题描述:两个质量块m1 m2由三个弹簧连接k1 k2 k3 二自由度系统,m1为1kg m2为2kg k1为1000N/m k2为1000N/m k3为1000N/m 刚度阵为[ ...
- 【源码】采用空间有限元法和时间域Newmark法求解梁的振动问题
求解欧拉-伯努利梁的振动问题(包括静载自由简支梁). Solve the vibration of Euler-Bernoulli beam (including calmped-free and s ...
- newmark法 matlab,newmark法和wilson法求解单自由度体系加速度反应谱
fid=fopen('77(0.01-4172).txt','r'); %以下为newmark法求解单自由度体系反应谱 [Acceleration,count]=fscanf(fid,'%g'); d ...
- newmark法 matlab,newmark法程序newmark法程序.doc
newmark法程序newmark法程序 用matlab编程法 一.法原理 Newmark-?法是一种逐步积分的方法,避免了任何叠加的应用,能很好的适应非线性的反应分析. Newmark-?法假定: ...
- 回溯法 | 求解装载问题
问题描述: 有 n 个集装箱要装上一艘载重量为 W 的轮船,其中集装箱 i (1<=i<=n) 的重量,为wi.子啊装在体积不受限制的情况下,将尽可能重的集装箱装上轮船,当重量相同时要求选 ...
- 使用回溯法求解装载问题
回溯法解决装载问题(java实现) 问题描述:有n个集装箱要装上两艘载重量分别为C1和C2的轮船,其中集装箱i的重量为wi,且:∑ wi ≤ C1+C2. 求是否有一个合理的装载方案能将这 n 个集装 ...
- matlab 龙格-库塔 法求解常微分方程
最近学习分室模型,里面碰到了用matlab 龙格-库塔 法求解常微分方程 研究了一阵子终于明白到底怎么实现了: 1. matlab 新建.m文件,编写龙格-库塔法求解函数 function [x,y] ...
- 牛顿-拉普森法求解线性方程组原理及matlab程序
牛顿-拉普森法求解线性方程组原理及matlab程序 牛顿-拉普森法原理 Nowton-Raphson方法matlab程序? 牛顿-拉普森法原理 在多变量微积分和矩阵理论的交叉点是求解非线性代数方程 ...
- 简单迭代法、牛顿法、弦割法、布洛依登法求解方程或方程组【Matlab】
利用迭代法求解定非线性方程及方程组,使得误差不超过10^(-8).同时应用迭代加速技术,提交迭代运算效率. 此题需要用到的MATLAB代码及附录: 附录6 二分法作根的隔离 % 附录6 二分法作根的隔 ...
最新文章
- VirtualBox上装CentOS5.8网络不通问题
- 人们对社会与金钱奖赏的预期共享神经环路
- uvc摄像头代码解析7
- python常用标准库有哪些-Python 常用的标准库以及第三方库有哪些?
- 妹纸这套路玩的好深,吹泡泡能吹出气球来
- 中学计算机老师的英语,中学计算机老师的路在何方?
- kafka一键启动集群
- 阿里达摩院发布2019十大科技趋势!AI专用芯片将挑战GPU的绝对统治地位
- python幂运算的符号有哪些及画法_SymPy 符号计算基本教程
- Java通过 p12 建立ssl链接
- Linux libaio 实例,linux libaio安装
- 破解版抓包工具Charles教程(资源分享)
- python文件查重_海量文件查重SimHash和Minhash
- NMPA已注册肿瘤小Panel试剂盒生物信息学分析内容对比
- Fiddler功能讲解
- java tapestry_Tapestry简介- 转载 (转自java-cn)
- [学科总结] 《矩阵论》
- 猿创征文|我的四个月Java学习成长之路——从基础到框架再到项目
- 杂谈:奇点真的临近吗?兼聊AI、区块链、类脑计算、量子计算等
- 函数参数传递:参数传递从右往左
热门文章
- 身份证号码前6位表示的地区一览表
- java webclient_Spring Boot(14)——使用WebClient
- Git查看具体代码提交记录
- 条幅机-刻绘软件使用
- 如何将CAD文件转换为PDF格式,免费试用
- 各类分布式存储系统简介
- 如何调出天正8.2中上部的工具条
- 在Android Studio编写代码时,使用MaterialCardView的项目无法正常运行怎么办?简简单单搞定它_莫韵乐与bug的奇妙冒险
- php在使用MySQL查询时特殊字符自动转义的问题
- rust怎么放篝火_Rust游戏中12个实用小技巧,包含无伤下坠、直梯爬楼