function[t,x,v]= FMSDS(m,b,k,alpha,beta,tau,dtau,x0,v0,f)
%
% DESCRIPTION:
%
% Function returns numerical solution of the
% Fraction Mass-Spring-Damper System (FMSDS)
% using Grunwald-Letnikov derivative definition.
%
% |
% /| Damper --------
% /| -- | |
% /|--- |-------| Mass | Force
% /| -- b | m |<--------> f
% /| Spring | |
% /|-/\/\/\/\---| |
% /| k --------
% /| | Displacement, x
% /|<------------------------------>
% /| | Velocity, v
% 0
%
% Fractional differential equation:
%
% d^alpha d^beta
% m ---------- x(t) + b -------- x(t) + k x(t) = f(t) for 0 <= t <= tau
% d t^alpha d^beta alpha > beta
%
% Initial conditions:
% x(0) = x0
% x'(0) = v(0) = v0
%
% Grunwald-Letnikov definition:
%
% Nf
% sum b_j.y(t-j.dtau)
% d^alpha j=0
% --------- y(t) = -------------------
% d t^alpha dtau^alpha
%
% Difference equation :
%
% p p
% sum bc_j.x(p-j) sum cc_j.x(p-j)
% j=0 j=0
% m --------------- + b --------------- + k.x(p) = f(p)
% dtau^alpha dtau^beta
%
% or
% p
% m.dtau^(-alpha) ( bc_0.x(p) + sum bc_j.x(p-j) ) +
% j=1
%
% p
% + b.dtau^(-beta) ( cc_0.x(p) + sum cc_j.x(p-j) ) + k.x(p) = f(p)
% j=1
%
% or
% p p
% x(p)=(f(p)-m.dtau^(-alpha).sum bc_j.x(p-j)-b.dtau^(-beta).sum cc_j.x(p-j))/
% j=1 j=1
%
% (m.dtau^(-alpha).bc_0 + b.dtau^(-beta).cc_0 + k)
%
% INPUTS:
% m - mass [ kg ]
% b - damper coefficient [ kg/s ]
% k - stiffness (or spring constant) [ kg/s^2 ]
% alpha - fractional-order derivative [ - ]
% beta - fractional-order derivative [ - ]
% tau - simulation time [ s ]
% dtau - time step [ s ]
% x0 - initial displacement [ m ]
% v0 - initial velocity [ m/s ]
% f - force [ N ]
%
% OUTPUTS:
% t - vector of time [ s ]
% x - vector of distance [ m ]
% v - vector of velocity [ m/s ]
%
% AUXILIARY VARIABLES:
% n - length of time vector
% p, i, j - index
% bc, cc - binomial coefficients
% s1, s2 - sum
%
% Copyright (C) 2020, Technical University of Kosice
% Author : Terpak Jan
% Revision: 17.02.2020
%
n = tau/dtau+1;
t(1) = 0.0;
x(1) = x0;
v(1) = v0;
t(2) = dtau;
x(2) = x(1) + dtau*v(1);
v(2) = ( x(2) - x(1) )/dtau;
p = 1;
for i = 3:n
p = p + 1;
t(i) = (i-1)*dtau;
bc = zeros(1,p+1);
cc = zeros(1,p+1);
bc(1) = 1;
cc(1) = 1;
for j = 2:p+1
bc(j) = (1 - (1+alpha)/(j-1))*bc(j-1);
cc(j) = (1 - (1+beta)/(j-1))*cc(j-1);
end
s1 = 0;
s2 = 0;
for j = 2:p+1
s1 = s1 + bc(j)*x(p+2-j);
s2 = s2 + cc(j)*x(p+2-j);
end
x(i) = ( f(i) - m*dtau^(-alpha)*s1 - b*dtau^(-beta)*s2 )/...
( m*dtau^(-alpha)*bc(1) + b*dtau^(-beta)*cc(1) + k);
v(i) = ( x(i) - x(i-1) )/dtau;
end
end
天天Matlab代码科研顾问
- 粉丝: 3w+
- 资源: 2775
最新资源
- 基于粒子群算法的电动汽车充电站和光伏最优选址和定容 关键词:选址定容 电动汽车 充电站位置 仿真平台:MATLAB 主要内容:代码主要做的是一个电动汽车充电站和分布式光伏的选址定容问题,提出了
- 伺服送料机,步进电机,伺服电机,程序,三菱,台达,中达一体机,送料机程序,PLC多段数据不同,可任意调节A段B段c段长度,并定长切断 程序能存储5段工件数据,使用调出非常方便 PLC程序有台达ES
- 考虑安全约束及热备用的电力系统机组组合研究 关键词:机组组合 直流潮流 优化调度 参考文档:店主自编文档,模型数据清晰明了 仿真平台:MATLAB+CPLEX gurobi平台 优势:代码具有一定
- 计及源-荷双重不确定性的电厂 微网日前随机优化调度系统 关键词:电厂 微网 随机优化 随机调度 源-荷双重不确定性 电厂调度 参考文档:Virtual power plant mid-ter
- 基于mpc模型预测轨迹跟踪控制,总共包含两套仿真,一套是不加入四轮侧偏角软约束,一套是加入四轮侧偏角的软约束控制,通过carsim与simulink联合仿真发现加入侧偏角软约束在进行轨迹跟踪时,能够通
- 采用下垂控制的孤岛逆变器仿真 名称:droop-controlled-converter-island 软件:Matlab R2016a 控制:下垂控制,闭环电流反馈控制,解耦电压电流环控制,见图1
- 直驱式波浪发电最大功率捕获matlab仿真 电机:直线电机 控制器:PID控制器 策略:基于RLC等效电路模型的最大功率输出 含:使用说明书+教学视频
- 西门子200smart标准程序,西门子程序模板参考,3轴控制程序,含西门子触摸屏程序,详细注释,IO表,电气原理图
- 基于西门子PLC200自动保暖供水系统,系统用于厂区饮用水,区域热水保暖,系统中大多数用于时间进行各个季节,各个时间的控制 供水区域时间的设定 可以实现在每一个阶段按照每一个流程进行不同的运行
- 西门子S7-1200四层电梯模拟程序 电梯WinCC动画程序 西门子参考学习程序 博图15或者以上可以打开 PLC:西门子S7-1200 触摸屏:KTP900 有人会问:为什么是四层电梯参考学习程序
- 整车电子电气正向开发网络架构 , 倘若您是产品经理或者项目经理又或者是技术leader,这个将帮助您梳理在整车电子电气正向开发过程中不同系统的内部架构设计及相互间的关联,涵盖整车控制系统、网联系统、驾
- dsp28335三相逆变程序,可以开环测试
- 含分布式电源的无功补偿(Matlab程序): 1.以无功补偿调节代价为目标函数,不同风光电源渗透率下,优化确定无功补偿装置出力情况(改进灰狼优化算法IGWO) 2.以网损和电压偏差为目标函数,才用分
- 整车控制器 基于MPC和滑模控制算法实现的车辆稳定性控制,建立了横摆角速度、侧向速度、前后质心侧偏角动力学模型作为预测模型,同时考虑车辆的稳定性可通过控制车辆的侧向速度维持在一定范围内保证车辆的稳定性
- COMSOL MATLAB 代码 二维随机裂隙 2维随机裂隙生成 功能:可以实现多组不同方向,不同分布规律的裂隙生成(任意组数都可以) 需要输入的参数有:每组裂隙的迹长范围、分布规律(正态分布o
- 全阶滑模无位置传感器控制仿真模型,有基本的开关函数,有饱和函数,sigmod函数等多种滑模 还有全阶滑模观测器仿真,相比传统滑模观测器消除了额外的低通滤波器,误差更小,效果堪称完美 不仅误差小
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈