文档库 最新最全的文档下载
当前位置:文档库 › 加速度转换成位移的matlab代码及说明

加速度转换成位移的matlab代码及说明

加速度转换成位移的matlab代码及说明
加速度转换成位移的matlab代码及说明

加速度转换成位移的matlab代码及说明

由测量的加速度离散数据数据转化成位移数据一般不直接在时域进行积分处理,而是由时域转换成频域在频域中进行二次积分再转化到时域中得到位移结果。

相关matlab处理程序方法参考王济老师的matlab在振动信号处理中的应用中的程序如下:

%频域积分

%%%%%%%%%%%%%%%%%%%%%%%%%%

clear; clc; close all hidden

%%%%%%%%%%%%%%%%%%

fni=input('频域积分-输入数据文件名:','s');

fid=fopen(fni,'r');

sf=fscanf(fid,'%f',1);%采样频率

fmin=fscanf(fid,'%f',1);%最小截止频率

fmax=fscanf(fid,'%f',1);%最大截止频率

c=fscanf(fid,'%f',1);%单位变换系数

it=fscanf(fid,'%f',1);%积分次数

sx=fscanf(fid,'%s',1);%横向坐标轴的标注

sy1=fscanf(fid,'%s',1);%纵向坐标轴输入单位的标注

sy2=fscanf(fid,'%s',1);%纵向坐标轴输出单位的标注

fno=fscanf(fid,'%s',1);%输出数据文件名

x=fscanf(fid,'%f',[1,inf]);%输入数据存成行向量

status=fclose(fid);

n=length(x);

%建立时间向量

t=0:1/sf:(n-1)/sf;

%大于并最接近n的2的幂次方为FFT长度

nfft=2^nextpow2(n);

%FFT变换

y=fft(x,nfft);

%计算频率间隔(Hz/s)

df=sf/nfft;

%计算指定频带对应频率数组的下标

ni=round(fmin/df+1);

na=round(fmax/df+1);

%计算圆频率间隔(rad/s)

dw=2*pi*df;

%建立正的离散圆频率向量

w1=0:dw:2*pi*(0.5*sf-df);

%建立负的离散圆频率向量

w2=2*pi*(0.5*sf-df):-dw:0;

%将正负圆频率向量组合成一个向量

w=[w1,w2];

%以积分次数为指数,建立圆频率变量向量

w=w.^it;

%进行积分的频域变换

a=zeros(1,nfft); a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);

if it == 2

y=-a; %进行二次积分的相位变换

else

a1=imag(a); a2=real(a); y=a1-a2*i; %进行一次积分的相位变换

end

a=zeros(1,nfft);

%消除指定正频带外的频率成分

a(ni:na)=y(ni:na);

%消除指定负频带外的频率成分

a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);

y=ifft(a,nfft); %IFFT变换

%取逆变换的实部n个元素并乘以单位变换系数为积分结果

y=real(y(1:n))*c;

subplot(2,1,1); plot(t,x); xlabel(sx); ylabel(sy1); grid on; %绘制几分钱的时程曲线图形

subplot(2,1,2); plot(t,y); xlabel(sx); ylabel(sy2); grid on; %绘制积分后的时程曲线图形

%打开文件输出积分后的数据

fid=fopen(fno,'w');

for k=1:n, fprintf(fid,'%f \n',y(k)); end

status=fclose(fid);

程序使用说明:运行该程序会显示频域积分-输入数据文件名:在之后写出输入数据文件的完整文件名(包括扩展名,例如data.txt)要求数据文件必须在matlab工作空间路径下,该数据文件必须满足如下格式要求:

采样频率

下限截止频率

上限截止频率

单位变换系数

积分阶数(加速度变位移为2,变速度为1)

时间(s)

加速度(g)

位移(mm)

out.txt

具体加速度数据(回车或空格隔开)

下图为书上给出的例子:

满足这样的格式的数据文件才能正常处理,注意单位变换系数和坐标有关,如果按书上的例子加速度以g为单位位移以mm为单位,单位变换系数应该为9.8*1000=9800;而用米每二次方秒为加速度单位以mm为位移单位的话就是1*1000=1000;如果m为位移单位的话那单位变换系数就应该为1了。要注意单位变换系数的选取和自己设定的坐标单位有关。

而加速度数据的问题,如果数据为一维数据即全为振动加速度的值可以直接使用该程序,但如果像我一样是测量的原始结果,为振动加速度对应着时间需要对该程序进行修改,在读取数据的代码上修改为读取的x数组分离出加速度数据和时间数据。分别代替原来的加速度x 和时间t。

我修改后的程序如下,之前除了数据部分直接写到程序里,不在需要输入了,而测量数据为时间对应着相应的加速度,m为位移单位m/s^2为加速度单位,单位变换系数为1,程序如下:

注意:如果直接复制程序的话注意中英文输入法切换导致程序字符有问题,自己在matlab 中改一下单引号为英文输入状态下的就好。

%频域积分

%%%%%%%%%%%%%%%%%%%%%%%%%%

clear; clc; close all hidden

%%%%%%%%%%%%%%%%%%

fni=input('频域积分-输入数据文件名:','s');

fid=fopen(fni,'r');

sf=12000%采样频率

fmin=0.1%最小截止频率

fmax=6000%最大截止频率

c=1%单位变换系数

it=2%积分次数

sx=’时间(s)’;%横向坐标轴的标注

sy1=’加速度(m/s^2)’;%纵向坐标轴输入单位的标注

sy2=’位移(m)’;%纵向坐标轴输出单位的标注

out.txt;%输出数据文件名

x=fscanf(fid,'%f',[1,inf]);%输入数据存成行向量

%加速度时间数据分离

for i=1:1:(length(x)/2)

%时间数据

t(i) = x(2*i-1);

%加速度数据

xx(i) = x(2*i);

end

status=fclose(fid);

n=length(xx);

%大于并最接近n的2的幂次方为FFT长度

nfft=2^nextpow2(n);

%FFT变换

y=fft(xx,nfft);

%计算频率间隔(Hz/s)

df=sf/nfft;

%计算指定频带对应频率数组的下标

ni=round(fmin/df+1);

na=round(fmax/df+1);

%计算圆频率间隔(rad/s)

dw=2*pi*df;

%建立正的离散圆频率向量

w1=0:dw:2*pi*(0.5*sf-df);

%建立负的离散圆频率向量

w2=2*pi*(0.5*sf-df):-dw:0;

%将正负圆频率向量组合成一个向量

w=[w1,w2];

%以积分次数为指数,建立圆频率变量向量

w=w.^it;

%进行积分的频域变换

a=zeros(1,nfft); a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);

if it == 2

y=-a; %进行二次积分的相位变换

else

a1=imag(a); a2=real(a); y=a1-a2*i; %进行一次积分的相位变换end

a=zeros(1,nfft);

%消除指定正频带外的频率成分

a(ni:na)=y(ni:na);

%消除指定负频带外的频率成分

a(nfft-na+1:nfft-ni+1)=y(nfft-na+1:nfft-ni+1);

y=ifft(a,nfft); %IFFT变换

%取逆变换的实部n个元素并乘以单位变换系数为积分结果

y=real(y(1:n))*c;

subplot(2,1,1); plot(t,xx); xlabel(sx); ylabel(sy1); grid on; %绘制几分钱的时程曲线图形subplot(2,1,2); plot(t,y); xlabel(sx); ylabel(sy2); grid on; %绘制积分后的时程曲线图形%打开文件输出积分后的数据

fid=fopen(fno,'w');

for k=1:n, fprintf(fid,'%f \n',y(k)); end

status=fclose(fid);

matlab实验十七__牛顿迭代法(可打印修改)

实验十七牛顿迭代法 【实验目的】 1.了解牛顿迭代法的基本概念。 2.了解牛顿迭代法的收敛性和收敛速度。 3.学习、掌握MATLAB软件的有关命令。 【实验内容】 用牛顿迭代法求方程的近似根,误差不超过。 3210 ++-=3 10- x x x 【实验准备】 1.牛顿迭代法原理 2.牛顿迭代法的几何解析 3.牛顿迭代法的收敛性 4.牛顿迭代法的收敛速度 5.迭代过程的加速 6.迭代的MATLAB命令 MATLAB中主要用for,while等控制流命令实现迭代。 【实验重点】 1.牛顿迭代法的算法实现 2.牛顿迭代法收敛性和收敛速度 【实验难点】 1.牛顿迭代法收敛性和收敛速度 【实验方法与步骤】 练习1用牛顿迭代法求方程在x=0.5附近的近似 3210 ++-= x x x

根,误差不超过。 310-牛顿迭代法的迭代函数为 322()1()()321 f x x x x g x x x f x x x ++-=-=-'++相应的MATLAB 代码为 >>clear; >>x=0.5; >>for i=1:3 >>x=x-(x^3+x^2+x-1)/(3*x^2+2*x+1) >>end 可算的迭代数列的前3项0.5455,0.5437,0.5437。经三次迭代,就大大超过了精度要求。 练习2 用牛顿迭代法求方程的近似正实根,由此建2(0)x a a =>立一种求平方根的计算方法。 由计算可知,迭代格式为,在实验12的练习4中1()()2a g x x x =+已经进行了讨论。 【练习与思考】 1.用牛顿迭代法求方程的近似根。 ln 1x x =2.为求出方程的根,在区间[1,2]内使用迭代函数进行310x x --=迭代,纪录迭代数据,问迭代是否收敛?对迭代进行加速,对比加速前的数据,比较加速效果。 3.使用在不动点的泰勒公式,证明牛顿迭代法收敛原理。*x

MATLAB代码 解线性方程组的迭代法

解线性方程组的迭代法 1.rs里查森迭代法求线性方程组Ax=b的解 function[x,n]=rs(A,b,x0,eps,M) if(nargin==3) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值elseif(nargin==4) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-A)*x0+b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 2.crs里查森参数迭代法求线性方程组Ax=b的解 function[x,n]=crs(A,b,x0,w,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-w*A)*x0+w*b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x;

if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 3.grs里查森迭代法求线性方程组Ax=b的解 function[x,n]=grs(A,b,x0,W,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1;%前后两次迭代结果误差 %迭代过程 while(tol>eps) x=(I-W*A)*x0+W*b;%迭代公式 n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 4.jacobi雅可比迭代法求线性方程组Ax=b的解 function[x,n]=jacobi(A,b,x0,eps,varargin) if nargin==3 eps=1.0e-6; M=200; elseif nargin<3 error return elseif nargin==5 M=varargin{1}; end D=diag(diag(A));%求A的对角矩阵 L=-tril(A,-1);%求A的下三角阵

速度加速度练习题带答案

速度.加速度练习题( 带答案) 1、下列物理量为矢量的是( ) A.速度 B.位移 C.质量 D.加速度 2、下列说法正确的是( ) A.位移是描述物体位置变化的物理量 B.速度是描述运动快慢的物理量 C.加速度是描述速度变化大小的物理量 D.加速度是描述速度变化快慢的物理量 3.关于加速度的概念,下列说法中正确的是( ) A .加速度就是加出来的速度 B .加速度反映了速度变化的大小 C .加速度反映了速度变化的快慢 D .加速度为正值,表示速度的大小一定越来越大 4.由t v a ??=可知( ) A .a 与Δv 成正比 B .物体加速度大小由Δv 决定 C .a 的方向与Δv 的方向相同 D .Δv/Δt 叫速度变化率,就是加速度 5.关于加速度的方向,下列说法正确的是( ) A 、一定与速度方向一致; B 、一定与速度变化方向一致; C.一定与位移方向一致; D 、一定与位移变化方向一致。 6.关于速度和加速度的关系,以下说法中正确的是( ) A.加速度大的物体,速度一定大 B.加速度为零时,速度一定为零 C.速度不为零时,加速度一定不为零 D.速度不变时,加速度一定为零 7.右图为A 、B 两个质点做直线运动的位移-时间图线.则( ). A 、在运动过程中,A 质点总比 B 质点快 B 、在0-t 1时间内,两质点的位移相同 C 、当t=t 1时,两质点的速度相等 D 、当t=t 1时,A 、B 两质点的加速度都大于零 8.若物体做匀加速直线运动,加速度大小为2 m/s 2,则( ) A .物体在某秒末的速度一定是该秒初速度的2倍 B .物体在某秒末的速度一定比该秒初速度大2m/s C .物体在某秒初的速度一定比前秒初速度大2m/s D .物体在某秒末的速度一定比前秒初速度大2m/s 9. 关于加速度,下列说法中正确的是 A. 速度变化越大,加速度一定越大 B. 速度变化率越大,加速度一定越大 C. 速度变化越快,加速度一定越大 D. 速度越大,加速度一定越大 10.物体在一直线上运动,用正、负号表示方向的不同,根据给出速度和加速度的正负,下列对运动情况判断错误的是( ) A. v 0>0, a<0, 物体的速度越来越大. B. v 0<0, a<0, 物体的速度越来越大. C. v 0<0, a>0, 物体的速度越来越小. D. v 0>0, a>0, 物体的速度越来越大. 11.以下对加速度的理解正确的是( ) A .加速度等于增加的速度 B .加速度是描述速度变化快慢的物理量 C .-102s m 比102s m 小 D .加速度方向可与初速度方向相同,也可相反 12、关于速度,速度改变量,加速度,正确的说法是:( ) A 、物体运动的速度改变量很大,它的加速度一定很大 B 、速度很大的物体,其加速度可以很小,可以为零 C 、某时刻物体的速度为零,其加速度可能不为零

加速度与位移

加速度与位移 1.速度和时间的关系 (1)速度公式 由加速度的定义公式a=,可得匀变速直线运动的速度公式为:=+at 为末速度,为初速度,a为加速度. 此公式对匀加速直线运动和匀减速直线运动都适用.一般取初速度 的方向为正方向,加速度a可正可负.当a与同向时,a>0,表明物体的速度随时间均匀增加;当a与反向时,a<0,表明物体的速度随时间均 匀减小. 当a=0时,公式为= 当=0时,公式为=at 当a<0时,公式为=-at(此时只能取绝对值) 可见,=+at是匀变速直线运动速度公式的一般表示形,只要知道初速度和加速a,就可以计算出各个时刻的瞬时速度. 2.位移和时间的关系 (1)平均速度公式 做匀变速直线运动的物体,由于速度是均匀变化的,所以在某一段 上的平均速度应等于初、末两速度的平均值,即 此公式只适用于匀变速运动,对非匀变速运动不适用.例如图2-14中甲物体在前5s内的平均速度为3m/s,乙物体在4s内的平均速度为3m /s (2)位移公式 s为t时间内的位移. 当a=0时,公式为s=t当=0时,公式为s= 当a<0时,公式为s=t-(此时a只能取绝对值). 可见:s=t+a是匀变速直线运动位移公式的一般表示形式,只要知道运动物体 的初速度和加速度a,就可以计算出任一段时间内的位移,从而确定任 意时刻物体所在的位置. 1、选择题: 1.一物体做匀变速直线运动,下列说法中正确的是()

A.物体的末速度与时间成正比 B.物体的位移必与时间的平方成正比 C.物体速度在一段时间内的变化量与这段时间成正比 D.匀加速运动,位移和速度随时间增加;匀减速运动,位移和速度随时间减小 2.物体做直线运动时,有关物体加速度,速度的方向及它们的正负值说法正确的是( ) A.在匀加速直线运动中,物体的加速度的方向与速度方向必定相同B.在匀减速直线运动中,物体的速度必定为负值 C.在直线线运动中,物体的速度变大时,其加速度也可能为负值D.只有在确定初速度方向为正方向的条件下,匀加速直线运动中的加速度才为正值 3.物体以2m/s2的加速度作匀加速直线运动,那么在运动过程中的任意1S内,物体的( ) A.末速度是初速度的2倍 B.末速度比初速度大2m/s C.初速度比前一秒的末速度大2m/s D.末速度比前一秒的初速度大2m/s 4.原来作匀加速直线运动的物体,若其加速度逐渐减小到零,则物体的运动速度将( ) A.逐渐减小 B.保持不变 C.逐渐增大 D.先增大后减小 5.汽车以20 m/s的速度做匀速直线运动,刹车后的加速度大小为5,那么开始刹车6 s汽车的速度大 小为() A. 20 m/s B. 0 m/s C. —10 m/s D. 5 m/s 6.关于自由落体运动,下面说法正确的是() A.它是竖直向下,v0=0,a=g的匀加速直线运动 B.在开始连续的三个1s内通过的位移之比是1∶3∶5 C.在开始连续的三个1s末的速度大小之比是1∶2∶3 D.从开始运动起依次下落4.9cm、9.8cm、14.7cm,所经历的时间之比为1∶∶ 7.甲、乙两车某时刻由同一地点沿同一方向开始做直线运动,若以该时刻作为计时起点,得到两车的图象如图所示,则下列说法正确的是()

lu分解法、列主元高斯法、jacobi迭代法、gaussseidel法的原理及matlab程序

一、实验目的及题目 1.1 实验目的: (1)学会用高斯列主元消去法,LU 分解法,Jacobi 迭代法和Gauss-Seidel 迭代法解线性方程组。 (2)学会用Matlab 编写各种方法求解线性方程组的程序。 1.2 实验题目: 1. 用列主元消去法解方程组: 1241234 123412343421233234x x x x x x x x x x x x x x x ++=??+-+=??--+=-??-++-=? 2. 用LU 分解法解方程组,Ax b =其中 4824012242412120620266216A --?? ?- ?= ? ?-??,4422b ?? ? ?= ?- ?-?? 3. 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解方程组: 123234 1231234102118311210631125x x x x x x x x x x x x x -+=-??-+=-??-+=??-+-+ =? 二、实验原理、程序框图、程序代码等 2.1实验原理 2.1.1高斯列主元消去法的原理 Gauss 消去法的基本思想是一次用前面的方程消去后面的未知数,从而将方程组化为等价形式: 1111221122222n n n n nn n n b x b x b x g b x b x g b x g +++=??++=????= ? 这个过程就是消元,然后再回代就好了。具体过程如下: 对于1,2, ,1k n =-,若() 0,k kk a ≠依次计算

()() (1)()()(1)()()/,,1, ,k k ik ik kk k k k ij ij ik kj k k k i i ik k m a a a a m a b b m b i j k n ++==-=-=+ 然后将其回代得到: ()() ()()()1/()/,1,2,,1 n n n n nn n k k k k k kj j kk j k x b a x b a x a k n n =+?=??=-=--? ? ∑ 以上是高斯消去。 但是高斯消去法在消元的过程中有可能会出现() 0k kk a =的情况,这时消元就无法进行了,即使主元数() 0,k kk a ≠但是很小时,其做除数,也会导致其他元素数量级的严重增长和舍入误差的扩散。因此,为了减少误差,每次消元选取系数矩阵的某列中绝对值最大的元素作为主元素。然后换行使之变到主元位置上,再进行销元计算。即高斯列主元消去法。 2.1.2直接三角分解法(LU 分解)的原理 先将矩阵A 直接分解为A LU =则求解方程组的问题就等价于求解两个三角形方程组。 直接利用矩阵乘法,得到矩阵的三角分解计算公式为: 1111111 11 1,1,2,,/,2,,,,,1,,,2,3, ()/,1,2, ,i i i i k kj kj km mj m k ik ik im mk kk m u a i n l a u i n u a l u j k k n k n l a l u u i k k n k n -=-===?? ==?? =-=+??=??=-=++≠?? ∑∑且 由上面的式子得到矩阵A 的LU 分解后,求解Ux=y 的计算公式为 11 111,2,3,/()/,1,2, ,1 i i i ij j j n n nn n i i ij j ii j i y b y b l y i n x y u x y u x u i n n -==+=??? =-=?? =??? =-=--?? ∑∑ 以上为LU 分解法。

加速度与位移

加速度与位移 1.速度和时间的关系 (1)速度公式 由加速度的定义公式a =t v v o t -,可得匀变速直线运动的速度公式为:t v =0v +at t v 为末速度,0v 为初速度,a 为加速度. 此公式对匀加速直线运动和匀减速直线运动都适用.一般取初速度0v 的方向为正方向,加速度a 可正可负.当a 与0v 同向时,a >0,表明物体的速度随时间均匀增加;当a 与0v 反向时,a <0,表明物体的速度随时间均匀 减小. 当a =0时,公式为t v =0v 当0v =0时,公式为t v =at 当a <0时,公式为t v =0v -at (此时α只能取绝对值) 可见,t v =0v +at 是匀变速直线运动速度公式的一般表示形,只要知道初速度0v 和加速a ,就可以计算出 各个时刻的瞬时速度. 2.位移和时间的关系 (1)平均速度公式 做匀变速直线运动的物体,由于速度是均匀变化的,所以在某一段上的平均速度应等于初、末两速度的平均 值,即2 t o v v v += 此公式只适用于匀变速运动,对非匀变速运动不适用.例如图2-14中甲物体在前5s 内的平均速度为3m / s ,乙物体在4s 内的平均速度为3m /s (2)位移公式 22 1)(212at t v t at v v t v v t v s o o o t o +=++=+== s 为t 时间内的位移. 当a =0时,公式为s =0v t 当0v =0时,公式为s = 221at 当a <0时,公式为s =0v t -22 1at (此时a 只能取绝对值).

可见:s =0v t+2 1a 2t 是匀变速直线运动位移公式的一般表示形式,只要知道运动物体 的初速度0v 和加速度a ,就可以计算出任一段时间内的位移,从而确定任意时刻物体所在的位置. 一、选择题: 1.一物体做匀变速直线运动,下列说法中正确的是( ) A .物体的末速度与时间成正比 B .物体的位移必与时间的平方成正比 C .物体速度在一段时间内的变化量与这段时间成正比 D .匀加速运动,位移和速度随时间增加;匀减速运动,位移和速度随时间减小 2.物体做直线运动时,有关物体加速度,速度的方向及它们的正负值说法正确的是( ) A .在匀加速直线运动中,物体的加速度的方向与速度方向必定相同 B .在匀减速直线运动中,物体的速度必定为负值 C .在直线线运动中,物体的速度变大时,其加速度也可能为负值 D .只有在确定初速度方向为正方向的条件下,匀加速直线运动中的加速度才为正值 3.物体以2m/s 2的加速度作匀加速直线运动,那么在运动过程中的任意1S 内,物体的( ) A .末速度是初速度的2倍 B .末速度比初速度大2m/s C .初速度比前一秒的末速度大2m/s D .末速度比前一秒的初速度大2m/s 4.原来作匀加速直线运动的物体,若其加速度逐渐减小到零,则物体的运动速度将( ) A .逐渐减小 B .保持不变 C .逐渐增大 D .先增大后减小 5.汽车以20 m/s 的速度做匀速直线运动,刹车后的加速度大小为5 m/s 2,那么开始刹车6 s 汽车的速度大 小为( ) A. 20 m/s B. 0 m/s C. —10 m/s D. 5 m/s 6.关于自由落体运动,下面说法正确的是( ) A .它是竖直向下,v 0=0,a=g 的匀加速直线运动 B .在开始连续的三个1s 内通过的位移之比是1∶3∶5 C .在开始连续的三个1s 末的速度大小之比是1∶2∶3 D .从开始运动起依次下落4.9cm 、9.8cm 、14.7cm ,所经历的时间之比为1∶2∶3 7.甲、乙两车某时刻由同一地点沿同一方向开始做直线运动,若以该时刻作为计时起点,得到两车的x t 图象 如图所示,则下列说法正确的是( ) A .1t 时刻乙车从后面追上甲车 B .1t 时刻两车相距最远 C .1t 时刻两车的速度刚好相等 D .0到1t 时间内,乙车的平均速度小于甲车的平均速度 第7题图

MATLAB样例之雅克比迭代法

要求: 下面分别使用雅克比迭代法和高斯-赛德尔迭代法求一个方程组的近似解用的线性方程组是按实验要求给的: 7*x1+x2+2*x3=10 x1+8*x2+2*x3=8 2*x1+2*x2+9*x3=6 雅克比迭代法的matlab代码:(老师写的) A=[7,1,2;1,8,2;2,2,9]; b=[10;8;6]; if(any(diag(A))==0) error('error,pause') end eps=input('误差限eps='); N=input('迭代次数N='); D=diag(diag(A)); B=inv(D)*(D-A); f=inv(D)*b; K=0; x0=zeros(size(b)); while 1 x1=B*x0+f K=K+1; fprintf('第-次迭代的近似解为',K) disp(x1'); if norm(x1-x0,inf)N fprintf('迭代超限') end x0=x1; end 高斯-赛德尔迭代法matlab代码:(自己改的)

A=[7,1,2;1,8,2;2,2,9]; b=[10;8;6]; if(all(diag(A))==0) error('error,pause') end eps=input('误差限eps='); N=input('迭代次数N='); D=diag(diag(A)); B=inv(D)*(D-A); f=inv(D)*b; K=0; x0=zeros(size(b)); x00=x0; while 1 x11=B*x0+f; x00(1,1)=x11(1,1); x12=B*x00+f; x00(2,1)=x12(2,1); x13=B*x00+f; x00(3,1)=x13(3,1); x1=x00 K=K+1; fprintf('第-次迭代的近似解为',K) disp(x1'); if norm(x1-x0,inf)N fprintf('迭代超限') end x0=x1; end

二分法、简单迭代法的matlab代码实现

实验一非线性方程的数值解法(一) 信息与计算科学金融崔振威201002034031一、实验目的: 熟悉二分法和简单迭代法的算法实现。 二、实验内容: 教材P40 2.1.5 三、实验要求 1根据实验内容编写二分法和简单迭代法的算法实现 2简单比较分析两种算法的误差 3试构造不同的迭代格式,分析比较其收敛性 (一)、二分法程序: function ef=bisect(fx,xa,xb ,n, delta) % fx是由方程转化的关于x的函数,有fx=0。 % xa解区间上限 % xb解区间下限 % n最多循环步数,防止死循环。 %delta为允许误差 x=xa;fa=eval(fx); x=xb;fb=eval(fx); disp(' [ n xa xb xc fc ]'); for i=1: n xc=(xa+xb)/2;x=xc;fc=eval(fx); X=[i,xa,xb,xc,fc]; disp(X), if fc*fa<0 xb=xc; else xa=xc; end if (xb-xa)

k=0; while abs(x-xO)>eps & k> fplot('[x A5-3*x A3-2*x A2+2]',[-3,3]);grid 得下图: 由上图可得知:方程在[-3,3]区间有根。 (2 )、二分法输出结果 >> f='xA5-3*xA3-2*xA2+2' f = X A5-3*X A3-2*X A2+2 >> bisect(f,-3,3,20,10A(-12)) 2.0000 - 3.0000 0 -1.5000 0.0313

加速度传感器测振动位移

加速度传感器测振动速度与位移方案 1. 测量方法(基本原理) 设加速度传感器测量振动所得的加速度为:()a t (单位:m/s 2) 对加速度积分一次可得速率: 1 1()()[ ]2N i i i a a v t a t dt t -=+==?∑? (单位:m/s) 对速率信号积分一次可得位移:1 1 ()()[ ]2 N i i i v v s t v t dt t -=+==?∑? (单位:m) 其中: ()a t 为连续时域加速度波形 ()v t 为连续时域速率波形 ()s t 为连续位移波形 i a 为i 时刻的加速度采样值 i v 为i 时刻的速率值 0a =0;0v =0 t ?为两次采样之间的时间差 2. 主要误差分析 误差主要存在以下几个方面: 1)零点漂移所带来的积分误差 由于加速度传感器的输出存在固定的零点漂移。即当加速度为0g 时传感器输出并不一定为0,而是一个非零输出error A 。传感器的输出值为:()a t +error A 。对error A 二次积分会产生积分累计效应。 2)积分的初始值所带来的积分误差 0a 和0v 的值并不为零,同样会产生积分累计效应。 3)高频噪声信号所带来的误差 高频噪声信号会对瞬时位移值测量精度带来影响,但积分值能相互抵销而不会带来累计。 3. 解决办法 1)零点漂移和积分初始值不为零可以加高通滤波器的方法滤除。

2)高频噪声信号的影响并不大,为了达到更高的精度,可以加一个低通滤波器。 选择高通滤波器和低通滤波器合理的截至频率,可以得到较理想的结果。 (注:高通滤波即去除直流分量;低通滤波即平滑滤波算法)。 4. 仿真研究 4.1 问题的前提背景 1.本课题研究的对象是桥梁振动的加速度()a t ,速度()v t 和位移()s t ,可以认为桥梁的加速度,速度,位移的总和为0。 即:0()0a t dt ∞ =? 0()0v t dt ∞ =? ()0s t dt ∞ =? 其离散表达式为:00()N i i a N ===∞∑ 0() N i i v N ===∞∑ 0() N i i s N ===∞∑ 2.加速度传感器测量值存在误差,它主要是在零点漂移和测量噪声两个方面。 即测量值()()()measure error a t a t a t =+ 其中:()measure a t 为加速度传感器测量加速度值 ()a t 为桥梁振动的实际加速度值 ()error a t 为传感器测量误差 3.振动速度与振动位移取决于振动加速度与振动频率,可以证明,振动速度与振动加速度成正比,与振动频率成反比;振动位移与振动速度成正比,与振动频率成反比。 4.2 仿真 1.取一组仿真用振动加速度信号:()9.8sin(240)3measure a t t π=??+,如图1所示。 其中:()measure a t 代表加速度传感器测量值

matlab 迭代法[精品]

matlab 迭代法[精品] 1. 矩阵 122,211,,,,,,,,,A,111A,222, 11,,,,,,,,221,,112,,,, 证明:求解以为系数矩阵线性方程组的Jacobi迭代式收敛的,而A1 Gauss-Seidel方法是发散的;求解以为系数矩阵线性方程组的A2实验名称Gauss-Seidel是收敛的,而Jacobi方法是发散的. 2. 矩阵 1aa,,,,Aaa,1 ,,,,aa1,, (a) 参数取什么值时,矩阵是正定的. a (b) 取什么值时,求以为系数矩阵线性方程组的Jacobi迭代式收aa 敛的. 1、根据迭代收敛性的充分必要条件来判断Jacobi迭代式与Gauss-Seide 迭代式的收敛性,迭代收敛性仅与方程组系数矩阵有关,与右端无关;而且不依赖于初值的选取。实验目的 2、根据矩阵的判断定理求得矩阵元素a的取值,同时根据矩阵线性方程组的Jacobi迭代式收敛的充分条件(严格对角占优)来求a得取值。 1、(1)检验线性方程组的Jacobi迭代式的收敛性: function jacobi(A) D=zeros(3); for i=1:3 D(i,i)=A(i,i); 实验内容end (算法、程B=D^(-1)*(D-A); 序、步骤和k=max(abs(eig(B))) 方法) if k<1

'该线性方程组的Jacobi迭代式是收敛的' else k>=1 '该线性方程组的Jacobi迭代式是发散的' end (2)检验线性方程组的Gauss-Seide迭代式的收敛性: function Gauss(A) D=zeros(3); L=zeros(3); U=zeros(3); for i=1:3 D(i,i)=A(i,i); end L(2:3,1)=A(2:3,1); L(3,2)=A(3,2); U(1,2:3)=A(1,2:3); U(2,3)=A(2,3); B=-(D+L)^(-1)*U; k=max(abs(eig(B))) if k<1 '该线性方程组的Gauss-Seidel迭代式是收敛的' else k>=1 '该线性方程组的Gauss-Seidel迭代式是发散的' end 2、(1)参数取什么值时,矩阵是正定的.(矩阵的特征值全为正) a >> syms a >> A=[1 a a;a 1 a;a a 1]; >> eig(A) ans = 2*a+1 1-a

速度、位移公式

匀变速直线运动的速度与时间以及位移 与时间 一、匀速直线运动 1、定义:沿着一条直线,且速度不随时间的变化而变化的运动,叫做匀速直线运动 2、图像 特点:①是一条平行于时间轴的直线 ②表示物体的速度不随时间变化,是个定值 二、匀变速直线运动 1、定义:沿着一条直线,且加速度 ...不变的运动,叫做匀变速直线运动 2、分类: (1)匀加速直线运动:物体的速度随时间均匀增加,加速度的方向与速度的方向相同,则a>0 (2)匀减速直线运动:物体的速度随时间均匀减小,加速度的方向与速度的方向相反,则a<0 三、匀变速直线运动的速度与时间关系 1、速度与时间的关系式 公式推导:假定初始时刻从t=0开始

由,以及 V 是物体在t=0时刻的速度,称为初速度。v t是物体在t时刻的瞬时速度,称为0 末速度。 注意:在具体运算中必须规定正方向来简化一直线上的矢量运算 2、速度与时间的图像 (υ~t图像) 特点: ①v-t图象是一条倾斜的直线 ②无论选在什么区间,对应的速度v的变化量与时间t的变化量之比都是一样的,,即加速度是一定值 ③纵轴上的截距表示运动物体的初速度υ

④图线的斜率表示运动物体的加速度a ⑤图线下的“面积”其表示运动物体在相应的时间内所发生的位移s 三、匀变速直线运动的位移与时间关系 1、匀速直线运动的位移 ①公式法: ②图像法:在υ~t图像中图线与时间轴所围成的矩形的面积就是做匀速直线运动的物体的位移 ③当速度值为正值时,x=vt>0,图线与时间轴所围成的矩形在时间轴的上方; 当速度值为负值时,x=vt<0,图线与时间轴所围成的矩形在时间轴的下方。 2.匀变速直线运动的位移 ①用微元与极限思想理解匀变速直线运动的位移 我们把υ~t图像中时间划分为许多小的时间间隔.设想物体在每一个时间间隔内都做匀速直线运动,而从一个时间间隔到下一个时间间隔,物体的速度跳跃性地突然变化.因此,它的速度图线由一些平行于时间轴的间断线段组成.由前面的知识知道匀速直线运动的位移可以用速度图象图线与时间轴之间的面积来表示,因此上面设想的运动物体在时间t内的位移,可用图线中的一个个小矩形面积之和(即阶梯状折线与时间轴之间的面积)近似来表示。当小矩形的个数划分为无穷多时,无穷多个小矩形的面积之和就可以准确的表示运动物体的位移。而这些小矩形合在一起就会组成一个梯形,那么梯形的面积就表示做匀变速直线运动的物体在0-t这段时间内的位移。

matlab迭代法代码

matlab 迭代法代码 1、%用不动点迭代法求方程x-e A x+4=0的正根与负根,误差限是 10A-6% disp(' 不动点迭代法 '); n0=100; p0=-5; for i=1:n0 p=exp(p0)-4; if abs(p-p0)<=10(6) if p<0 disp('|p-p0|=') disp(abs(p-p0)) disp(' 不动点迭代法求得方程的负根为 :') disp(p); break; else disp(' 不动点迭代法无法求出方程的负根 .') end else p0=p; end end

if i==n0 disp(n0) disp(' 次不动点迭代后无法求出方程的负根') end p1=1.7; for i=1:n0 pp=exp(p1)-4; if abs(pp-p1)<=10(6) if pp>0 disp('|p-p1|=') disp(abs(pp-p1)) disp(' 用不动点迭代法求得方程的正根为 ') disp(pp); else disp(' 用不动点迭代法无法求出方程的正根 '); end break; else p1=pp; end end if i==n0

disp(n0) disp(' 次不动点迭代后无法求出方程的正根 ') end 2、%用牛顿法求方程x-e A x+4=0的正根与负根,误差限是disp(' 牛顿法') n0=80; p0=1; for i=1:n0 p=p0-(p0-exp(p0)+4)/(1-exp(p0)); if abs(p-p0)<=10(6) disp('|p-p0|=') disp(abs(p-p0)) disp(' 用牛顿法求得方程的正根为 ') disp(p); break; else p0=p; end end if i==n0 disp(n0) disp(' 次牛顿迭代后无法求出方程的解 p1=-3; for i=1:n0 p=p1-(p1-exp(p1)+4)/(1-exp(p1)); 10A-6 ') end

加速度位移积分

加速度积分位移 Matlab 2013-02-04 05:30:00| 分类:MATLAB应用|举报|字号订阅 最近做有关加速度的数据处理,需要把加速度积分成位移,网上找了找相关资料,发现做这个并不多,把最近做的总结一下吧! 积分操作主要有两种方法:时域积分和频域积分,积分中常见的问题就是会产生二次趋势。关于积分的方法,在国外一个论坛上有人提出了如下说法,供参考。 Double integration of raw acceleration data is a pretty poor estimate for displacement. The reason is that at each integration, you are compounding the noise in the data. If you are dead set on working in the time-domain, the best results come from the following steps. 1. Remove the mean from your sample (now have zero-mean sample) 2. Integrate once to get velocity using some rule (trapezoidal, etc.) 3. Remove the mean from the velocity 4. Integrate again to get displacement. 5. Remove the mean. Note, if you plot this, you will see drift over time. 6. To eliminate (some to most) of the drift (trend), use a least squares fit (high degree depending on data) to determine polynomial coefficients. 7. Remove the least squares polynomial function from your data. A much better way to get displacement from acceleration data is to work in the frequency domain. To do this, follow these steps... 1. Remove the mean from the accel. data 2. Take the Fourier transform (FFT) of the accel. data. 3. Convert the transformed accel. data to displacement data by dividing each element by -omega^2, where omega is the frequency band. 4. Now take the inverse FFT to get back to the time-domain and scale your result. This will give you a much better estimate of displacement. 说到底就是频域积分要比时域积分效果更好,实际测试也发现如此。原因可能是时域积分时积分一次就要去趋势,去趋势就会降低信号的能量,所以最后得到的结果常常比真实幅值要小。下面做一些测试,对一个正弦信号的二次微分做两次积分,正弦频率为50Hz,采样频率1000Hz,恢复效果如下 时域积分

【良心出品】不动点迭代法matlab程序

实验四 姓名:木拉丁。尼则木丁班级:信计08-2 学号:20080803405 实验地点:新大机房 实验目的:通过本实验学习利用MATLAB不动点迭代法,抛物线法,斯特芬森迭代法解非线性方程组,及其编程实现,培养编程与上机调试能力。 实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序; ②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言, 算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等; ③用编好的程序在Matlab环境中执行。 迭代法 MATLAB程序: function pwxff(f,x0,x1,x2,d,n) f=inline(f); x(1)=x0; x(2)=x1; x(3)=x2; w1=(f(x(2))-f(x(3)))/(x(2)-x(3)); t1=(f(x(1))-f(x(3)))/(x(1)-x(3)); t2=(f(x(1))-f(x(2)))/(x(1)-x(2)); w2=1/(x(1)-x(2))*(t1-t2); w=w1+w2*(x(3)-x(2));

for k=3:n x(k+1)=x(k)-2*f(x(k))/(w+sqrt(w^2-4*f(x(k))*w2)); if abs(x(k+1)-x(k))

二分法、简单迭代法的matlab代码实现教学文案

实验一非线性方程的数值解法(一)信息与计算科学金融崔振威201002034031 一、实验目的: 熟悉二分法和简单迭代法的算法实现。 二、实验内容: 教材P40 2.1.5 三、实验要求 1 根据实验内容编写二分法和简单迭代法的算法实现 2 简单比较分析两种算法的误差 3 试构造不同的迭代格式,分析比较其收敛性 (一)、二分法程序: function ef=bisect(fx,xa,xb,n,delta) % fx是由方程转化的关于x的函数,有fx=0。 % xa 解区间上限 % xb 解区间下限 % n 最多循环步数,防止死循环。 %delta 为允许误差 x=xa;fa=eval(fx); x=xb;fb=eval(fx); disp(' [ n xa xb xc fc ]'); for i=1:n xc=(xa+xb)/2;x=xc;fc=eval(fx); X=[i,xa,xb,xc,fc]; disp(X), if fc*fa<0 xb=xc; else xa=xc; end if (xb-xa)

k=0; while abs(x-x0)>eps & k> fplot('[x^5-3*x^3-2*x^2+2]',[-3,3]);grid 得下图: 由上图可得知:方程在[-3,3]区间有根。 (2)、二分法输出结果 >> f='x^5-3*x^3-2*x^2+2' f = x^5-3*x^3-2*x^2+2 >> bisect(f,-3,3,20,10^(-12)) 2.0000 - 3.0000 0 -1.5000 0.0313

二分法、简单迭代法的matlab代码实现教学文案

二分法、简单迭代法的m a t l a b代码实现

实验一非线性方程的数值解法(一)信息与计算科学金融崔振威 201002034031 一、实验目的: 熟悉二分法和简单迭代法的算法实现。 二、实验内容: 教材P40 2.1.5 三、实验要求 1 根据实验内容编写二分法和简单迭代法的算法实现 2 简单比较分析两种算法的误差 3 试构造不同的迭代格式,分析比较其收敛性 (一)、二分法程序: function ef=bisect(fx,xa,xb,n,delta) % fx是由方程转化的关于x的函数,有fx=0。 % xa 解区间上限 % xb 解区间下限 % n 最多循环步数,防止死循环。 %delta 为允许误差 x=xa;fa=eval(fx); x=xb;fb=eval(fx); disp(' [ n xa xb xc fc ]'); for i=1:n xc=(xa+xb)/2;x=xc;fc=eval(fx); X=[i,xa,xb,xc,fc]; disp(X), if fc*fa<0 xb=xc; else xa=xc;

end if (xb-xa)eps & k> fplot('[x^5-3*x^3-2*x^2+2]',[-3,3]);grid 得下图:

相关文档
相关文档 最新文档