1樓:匿名使用者
你給我公式,我不可能知道你們的公式吧。還有你給的財富積分太低了這個可不是一般的程式設計呀
最近在用matlab處理振動資料,加速度頻域積分為位移,但是我不明白為什麼最後是用逆變換的實部作為結果?
2樓:匿名使用者
以上程式是對加速度二次積分為位移,將
時域積分裝換為頻域積分, 實現方法為將時域訊號進行fft到頻域,然後對頻譜做簡單運算實現了頻域上的積分 最後將頻域經過ifft到時域 實現了頻域上的積分。
時域積分對應在頻域上的頻譜函式為:∫f(x)dx →f(jw)/jw所以時域上的一次積分對應在頻域上的處理為:逆完fft之後取虛部,因為加速度與速度之間的關係為jw
二次積分時因為是-w^2,所以有 y=-a 即為取實部
matlab中如何將離散加速度積分求得速度
3樓:昂徠教育科技****
方法一:
e=load('c:\users\administrator\desktop\in.txt');
d=e-sum(e(:,1))/length(e);
figure(1)
plot(d)
title('濾波前加速度')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 積分%%%%%%%%%%%%
dt=0.1;
sx=0;
for i=1:1:length(d)
sx=d(i,1)*dt+sx ;%從最值位置疊加加速度
vx(i,1)=sx; %速度矩陣
endfigure(2)
subplot(2,1,1)
plot(vx)
ylabel('速度')
%%% 直流分量確定和積分基線的標定 %%%%%%%%%%%%%%%%%%%%%
vx=vx-sum(vx(:,1))/length(vx);
% sx2=dt*cumtrapz(vx-0.04) %x方向位移矩陣,其中0.04為通過整週期積分得出的直流分量值。
sx2=dt*cumtrapz(vx); %x方向位移矩陣,其中vx為通過標定後的速度矩陣。
subplot(2,1,2)
plot(sx2)
ylabel('位移')
方法二:
將下面內容儲存為simpson.m
function y= simpson(f,a,b,m)
% f被積函式;a積分下限;b積分上限;m子區間個數(將x分為多少個區間)
if m==0
y=0;
else
h=(b-a)/(2*m);
s1=0;
s2=0;
for i=1:m
x=a+(2*i-1)*h;
s1=s1+feval(f,x);
endfor j=1:(m-1)
x=a+2*j*h;
s2=s2+feval(f,x);
endy=h/3*(feval(f,a)+2*s2+4*s1+feval(f,b));
end在命令列輸入
f=@(t)sin(t);
i=;m=floor(2*pi/0.01);
for i=0:m
y=simpson(f,0,2*pi/m*i,i);
i=[i,y];
endt=0:0.01:2*pi;
plot(t,i);
matlab中怎樣將加速度訊號積分
4樓:
我是用採集到的加速度訊號來做兩次積分得到位移訊號,由於採集到的加速度訊號有直流偏移量,所以用了detrend命令做去趨勢處理。為了檢驗**是否正確,我用了一個標準的正弦函式來驗證。**如下:
t=(0:1:10240-1)/2000;
a=sin(5*t); %標準的正弦函式,準備對其進行兩次積分處理
fs=2000;
n=10240;
za=detrend(a); %對採集到的加速度訊號去趨勢處理(因為採集到的加速度訊號有直流偏移量)
v=cumtrapz(t,za); %對加速度訊號積分得速度訊號
zv=detrend(v); %對速度訊號去趨勢處理
l=cumtrapz(t,zv); %對速度訊號積分得到位移訊號
zl=detrend(l); %對位移訊號去趨勢處理
figure(1)
subplot(3,1,1)
plot(t,za)
title('加速度訊號');
subplot(3,1,2)
plot(t,zv)
title('速度訊號');
subplot(3,1,3)
plot(t,zl)
title('位移訊號');
振動加速度的一次積分得出速度,二次積分得出位移.但具體是怎樣做呢? 假設加速度是2m/s^2,時間是500ms,求
5樓:匿名使用者
直接積分不是實用方法,因實際資料都混有噪聲,每次積分將累積這些噪聲(你可以想象一個小的常量經長時間積分變得巨大、乃至無窮大),也就是形成所謂趨勢項。
可參考頻域積分法:王濟,... matlab在訊號處理中的應用,超星上有的。
6樓:假公成私
如果是簡諧振動,那只有在質點過零瞬間加速度達到最大值2m/s²,而並非所有時刻都是。其函式為正弦曲線,與位移曲線相差90°。所以速度也是變化的,位移也是變化的。
除非你這500ms小於半個週期,否則積分算出來也是錯的。
7樓:
1. 幾個自由度? 2. 有無阻尼? 3. 受迫與否?
假如是最簡單的「單自由度無阻尼簡諧振動」:
那麼,運動方程屬於「二階常係數線性微分方程」,其通解是三角函式,根本用不著採用積分;
直接輸入數值,用c++自帶的三角函式就能求出"位移";
同理,可以得到」速度「;
然後根據初相位、運動時間、週期的關係,程式設計判斷出經過了幾次平衡點,再結合振幅和先前求出的位移,就能求出「路程"。
另外,畢業好多年,這函式看得不甚理解。但裡面明顯只有下限a、上限b和迭代次數n這三個變數,只是一個單純的數學函式的程式設計,缺少其他力學量的輸入函式,所以和振動這個現象沒有毛線的關係,所以你根本用不到這個程式。
加速度感測器訊號如何積分,成為位移?
8樓:匿名使用者
積分可以在時域裡實現,也可以在頻域裡實現;
時域積分法:梯形公式數值積分法,或者其他直接積分法頻域積分法:基本原理是首先將加速度訊號作傅立葉變換,然後將變換結果在頻域裡進行2次積分,最後進行傅立葉逆變換得到積分後的位移訊號。
參考文獻:王濟,胡曉《matlab在振動訊號處理中的應用》
9樓:流傷
基本的原理很簡單,兩次積分過程用梯形積分公式,關鍵是對感測器的資料的誤差進行分析,選擇合適的演算法消除誤差,一般誤差源有輸入環境不理想,如手持感測器運動,感測器對手的撥動都檢測到了,用低通fir濾波,手的振動波段在8-12hz,還有直流量帶來的誤差,靜止下,對感測器的資料求均值標準差,估計波動範圍設波動閾值,在感測器運動的資料上減去,再有感測器模組機械工藝誤差,三軸的非絕對兩兩垂直,小限度內,感測器輸出與輸入是線性關係的誤差等,一次積分過程會得到速度,結合運動的起始終止條件速度為零對積分的速度進行修正,第二次積分的位移。但是得到的結果誤差還是很大,可以一起討論一下。
關於加加速度微積分計算,速度,加速度與微積分的問題
一看樓主的物理就很水.按照你的定義,加加速度積分,就為加速度,加速度積分就為速度,速度的積分就為位移了!所以連續積分三次就行了。f為加加速度的函式,f t dt bx u t u為加速度的函式。u t dt bt 2 2 v t v t 為速度的積分 再對速度積分就得位移了 s v t dt bt ...
已知加速度,對加速度求積分可得速度,為什麼求積分會是這樣子求
把v和t換位置之後,兩邊分別轉化為為v和t求積分,這樣比較好算。加速度對時間積分是什麼?加速度對時間積分是 v,就是速度在積分時間段內的變化量。加速度是速度變化量與發生這一變化所用時間的比值 v t,是描述物體速度變化快慢的物理量,通常用a表示,單位是m s2。加速度是向量,它的方向是物體速度變化 ...
角加速度等於切向加速度除以半徑,角加速度等於切向加速度除以半徑 求解
由於角加速度 d dt 是角速度而切向加速度是 a切 dv dt v是線速度大小且 v r r 是半徑 顯然在半徑不變時,有 d dt 1 r d r dt a切 r 可見,在半徑不變的圓周運動中,角加速度等於切向加速度除以半徑。注 如果半徑是變化的 如帶電粒子在磁場中做半徑不斷減小的運動 則本題這...