我如何得到我的阻尼振荡阻尼常数和周期持续时间

19日视图(30天)
嘿,伙计们,
我新matlab,我可能需要你的帮助。我将数据转化为matlab importet包括阻尼oszillation的数据。
我试着让我的局部最大值oszillation所以我能提取阻尼常数。我使用了功能:islocalmax找我的局部极大值。
% Parameterbestimmung毛皮Schwingungsmodell
T =负载(“Winkelverlauf_Video2.mat” );
t_para = T.T.t / 8; %的时间
theta_para = T.T.theta; % oszillation角
图()
情节(t_para theta_para);
yline (0.44, “- - -” );
% Lokale最大值和最小值
t_para_max = t_para (1、1:3000);
theta_para_max = theta_para (1、1:3000);
TF = islocalmax (theta_para_max);
图()
情节(t_para_max theta_para_max, “g *” )
你们能帮我找到的局部极大值只是半个里面,也许找到我的里面有持续时间的一种很好的方式,大概是0,66年代

答案(1)

明星黾
明星黾 2022年4月1日
该方法在 计算时间的图像信号 是一种选择。这段代码假定一个指数信封,所以有必要改变:
exp (b (2)。* x)
:
(2). * x
近似线性减小的信封。
9日评论
明星黾
明星黾 2022年4月3日
指我的代码在我之前 评论 ,把这些作业 循环计算 δ ,时间常数 τ , ξ - - - - - -
[fitpks, fitlocs] = findpeaks(适合(年代,xp));
δ=日志(fitpks(结束)/ fitpks(1) /(元素个数(fitpks) 1);
τ= 1 / s (2);
ξ= 1 /√(1 +(2 *π/δ)^ 2);
他们评估:
这些都是计算的 指数 合适的模型。
我也想出了一个办法符合线性部分的线性下降而不是使用指数函数-
适合= @ (b, x) b(1) *(1 +双曲正切(b (2)。* x))。*(罪(2 *π* x / b(3) + 2 *π/ b (4))) + b (5);%目标函数以适应
生产这个情节,
不是完美的,尽管修正模型更好的符合指数模型。
然而这些产生不同的派生常量的值派生指数模型常数更准确,因为适合指数,不是线性的,修改后的模型。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!