文档库 最新最全的文档下载
当前位置:文档库 › MATLAB内弹道程序 - 毕设专用!!!

MATLAB内弹道程序 - 毕设专用!!!

MATLAB内弹道程序 - 毕设专用!!!
MATLAB内弹道程序 - 毕设专用!!!

内弹道及枪膛合力Matlab程序

clear;

close all;

format long

d=0.0127;

S=0.82*0.0127^2;

V0=2.04e-5;

l_0=V0/S;

lg=0.924;

f=1000000;

alpha=0.001;

w=0.017;

rou=1600;

theta=0.2;

phi=1.45;

chi=0.79825;

lamda=0.1387;

mu=-0.043956;

e1=0.00052/2;

u1=7.5991e-10;

Is=e1/u1;

chi_s=1.2645;

lamda_s=-0.31322;

zk=1.4434;

%Ik=447000;

m=0.048;

p0=30e6;

delta=800;

psi0=(1/delta-1/rou)/(f/p0+alpha-1/rou); sigma0=sqrt(1+4*lamda*psi0/chi);

z0=2*psi0/chi/(sigma0+1);%(sigma0-1)/2/lamda; %====赋予初值====%

v(1)=0;

l(1)=0;

p(1)=p0;

z(1)=z0;

psi(1)=psi0;

lpsi(1)=l_0*(1-delta/rou-(alpha-1/rou)*delta*psi(1));

t(1)=0;

h=0.000001;

for i=1:100000

z1=p(i)/Is;

v1=S*p(i)/m/phi;

l1=v(i);

psi1=(z(i)>=0&z(i)<=1).*(chi+2*chi*z(i)*lamda+3*chi*mu*z(i)^2)*z1 +(z(i)>1&z(i)zk).*0;

lpsi1=-l_0*(alpha-1/rou)*delta*psi1;

p1=((f*w/S+p(i)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i)/S-p(i )*l1)/(l(i)+lpsi(i));

z2=(p(i)+h*p1/2)/Is;

v2=S*(p(i)+h*p1/2)/m/phi;

l2=v(i)+h*v1/2;

psi2=(z(i)>=0&z(i)<=1).*(chi*z2+2*chi*(z(i)+h*z1/2)*lamda*z2+3*chi*mu*z 2*(z(i)+h*z1/2)^2)+(z(i)>1&z(i)<=zk).*(chi_s*z2+2*chi_s*z2*lamda_s*(z(i )+h*z1/2))+(z(i)>zk).*0;

lpsi2=-l_0*(alpha-1/rou)*delta*psi2;

p2=((f*w/S+(p(i)+h*p1/2)*l_0*delta*(alpha-1/rou))*psi2-theta*phi*m*v2*( v(i)+h*v1/2)/S-(p(i)+h*p1/2)*l2)/((l(i)+h*l1/2)+(lpsi(i)+h*lpsi1/2));

z3=(p(i)+h*p2/2)/Is;

v3=S*(p(i)+h*p2/2)/m/phi;

l3=v(i)+h*v2/2;

psi3=(z(i)>=0&z(i)<=1).*(chi*z3+2*chi*(z(i)+h*z2/2)*lamda*z3+3*chi*mu*z 3*(z(i)+h*z2/2)^2)+(z(i)>1&z(i)zk).*0;

lpsi3=-l_0*(alpha-1/rou)*delta*psi3;

p3=((f*w/S+(p(i)+h*p2/2)*l_0*delta*(alpha-1/rou))*psi3-theta*phi*m*v3*( v(i)+h*v2/2)/S-(p(i)+h*p2/2)*l3)/((l(i)+h*l2/2)+(lpsi(i)+h*lpsi2/2));

z4=(p(i)+h*p3)/Is;

l4=v(i)+h*v3;

v4=S*(p(i)+h*p3)/m/phi;

psi4=(z(i)>=0&z(i)<=1).*(chi*z4+2*chi*(z(i)+h*z3)*lamda*z4+3*chi*mu*z4* (z(i)+h*z3)^2)+(z(i)>1&z(i)=zk).*0;

lpsi4=-l_0*(alpha-1/rou)*delta*psi4;

p4=((f*w/S+(p(i)+h*p3)*l_0*delta*(alpha-1/rou))*psi1-theta*phi*m*v1*v(i )/S-(p(i)+h*p3)*l4)/((l(i)+h*l3)+(lpsi(i)+h*lpsi3));

z(i+1)=z(i)+h*(z1+2*z2+2*z3+z4)/6;

l(i+1)=l(i)+h*(l1+2*l2+2*l3+l4)/6;

v(i+1)=v(i)+h*(v1+2*v2+2*v3+v4)/6;

psi(i+1)=psi(i)+h*(psi1+2*psi2+2*psi3+psi4)/6;

lpsi(i+1)=lpsi(i)+h*(lpsi1+2*lpsi2+2*lpsi3+lpsi4)/6;

p(i+1)=p(i)+h*(p1+2*p2+2*p3+p4)/6;

t(i+1)=t(i)+h;

if l(i)>=lg;

T=i;

break;

end

end

figure(1)

plot(t*10^3,p/1e6,'linewidth',1.5);

hold on

grid on

title('\fontsize{12}\bf(t-p曲线)');

xlabel('\fontsize{12}\bf时间 t 单位:ms');

ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');

figure(2)

plot(t*1e3,v,'linewidth',1.5);

grid on

title('\fontsize{12}\bf(v-t曲线)');

xlabel('\fontsize{12}bf时间 t 单位:ms');

ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');

figure(3)

plot(l*1e1,v,'linewidth',1.5);

grid on

title('\fontsize{12}\bf(l-v曲线)');

xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');

ylabel('\fontsize{12}\bf弹丸速度 v 单位:m/s');

figure(4)

plot(l*10,p/1e6,'linewidth',1.5);

grid on

title('\fontsize{12}\bf(l-p曲线)');

xlabel('\fontsize{12}\bf弹丸行程 l 单位:mm');

ylabel('\fontsize{12}\bf膛内压力 p 单位:Mpa');

%弹丸膛内时期膛底合力 F_pt 单位:N

F_pt=1.34*10^(-4)*p;

%后效期膛底合力 F_pt1 单位:N

t1=0.002288:0.000001:0.006537;

F_pt1=12231.10*exp(-(t1-0.002288)/0.00107);

figure(5)

plot(t*10^3,F_pt,t1*10^3,F_pt1,':','linewidth',1.5);

legend('F_pt','F_pt1');

grid on

title('\fontsize{12}\bf(t-F_pt曲线)');

xlabel('\fontsize{12}\bf时间 t 单位:ms');

ylabel('\fontsize{12}\bf膛底合力 F_pt 单位:N');

tspan=length(t)/30;

tspan=1:ceil(tspan):length(t);

tspan(end)=length(t);

fprintf('t(ms) p(Mpa) v(m/s) l(dm) z psi ');

format short g;

Result=[t(tspan)' (p(tspan)/1e6)' v(tspan)' l(tspan)' z(tspan)' psi(tspan)']

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

实验2 利用SIMULINK进行制导弹道仿真

实验2 利用SIMULINK 进行制导弹道仿真 实验目的 利用Simulink 进行仿真建模,通过以鱼雷追踪目标的制导弹道仿真过程,初步掌握系统数学仿真方法。 实验内容 图5 系统的结构框图 其中目标模型为: cos sin T T T T T T T T w X V Y V ψψ?ψ=?=??=-? 式中,,,,T T T T W X Y ψ分别为目标弹道偏角、回旋角速度、纵向距离和侧向距离; 假设:当20t <时,(0)0.4T T ψψ==弧度,目标做匀速运动; 当20t ≥时,0.1/T w rad s =,目标开始做回旋运动; 其鱼雷模型为: 5.80.19 3.6192.42515119.84cos sin y r y y r y w w w w Xe Vm Ye Vm ββδδψψβ?=-+-?=--??=??=ψ??=-ψ?ψ=-??

式中,,,,,,,,y w r Vm Xe Ye βδψψ分别为鱼雷的侧滑角、回旋角速度、直舵角、航向角、弹道偏角、速度,地面坐标系中的X 轴和Z 轴坐标。Vm=25m/s 。 鱼雷与目标的相对距离为,,T T X X Xe Y Z Ze ?=-?=-。 q 为地球视线角,q ηψ=-为雷体系中的提前角。操舵规律,0.5,10r K K r δηδ=-=≤。终端脱靶量定义为 t f r =鱼雷模型仿真初值为: (0)(0)(0)(0)(0)(0)0.25/y w r Xe Ze Vm m s βδψ=======。 目标模型仿真初值为:(0)5/,(0)(0)1500,(0)0T T T T V m s X Z m w ==== 实验步骤 由图5所示的系统控制结构图可知,该系统大致可以分为三个部分:目标模型,鱼雷模型以及观察模块。 1.根据目标模型和鱼雷模型的数学方程组,调用Simulink 工具箱模块库中的所需模块建立目标模型和鱼雷模型。 2.根据系统结构框图完成整个系统仿真模型的搭建,如图6 所示。 3.设置各模块的参数,并按照题目给定的初值条件设置好各模块的初值。 4.设置仿真器的参数,这里选择起始时间为0s ,终止时间为100s ,变步长解法器ode45,最大步长为0.05,最小步长自动调整。 5.对已经建立好的系统仿真模型进行运行调试,并对仿真结果进行分析。

图论算法及其MATLAB程序代码

图论算法及其MATLAB 程序代码 求赋权图G =(V ,E ,F )中任意两点间的最短路的Warshall-Floyd 算法: 设A =(a ij )n ×n 为赋权图G =(V ,E ,F )的矩阵,当v i v j ∈E 时a ij =F (v i v j ),否则取a ii =0,a ij =+∞(i ≠j ),d ij 表示从v i 到v j 点的距离,r ij 表示从v i 到v j 点的最短路中一个点的编号. ①赋初值.对所有i ,j ,d ij =a ij ,r ij =j .k =1.转向② ②更新d ij ,r ij .对所有i ,j ,若d ik +d k j <d ij ,则令d ij =d ik +d k j ,r ij =k ,转向③. ③终止判断.若d ii <0,则存在一条含有顶点v i 的负回路,终止;或者k =n 终止;否则令k =k +1,转向②. 最短路线可由r ij 得到. 例1求图6-4中任意两点间的最短路. 解:用Warshall-Floyd 算法,MATLAB 程序代码如下: n=8;A=[0281Inf Inf Inf Inf 206Inf 1Inf Inf Inf 8607512Inf 1Inf 70Inf Inf 9Inf Inf 15Inf 03Inf 8 Inf Inf 1Inf 3046 Inf Inf 29Inf 403 Inf Inf Inf Inf 8630];%MATLAB 中,Inf 表示∞ D=A;%赋初值 for (i=1:n)for (j=1:n)R(i,j)=j;end ;end %赋路径初值 for (k=1:n)for (i=1:n)for (j=1:n)if (D(i,k)+D(k,j)

时域有限差分法的Matlab仿真

时域有限差分法的Matlab仿真 关键词: Matlab 矩形波导时域有限差分法 摘要:介绍了时域有限差分法的基本原理,并利用Matlab仿真,对矩形波导谐振腔中的电磁场作了模拟和分析。 关键词:时域有限差分法;Matlab;矩形波导;谐振腔 目前,电磁场的时域计算方法越来越引人注目。时域有限差分(Finite Difference Time Domain,FDTD)法[1]作为一种主要的电磁场时域计算方法,最早是在1966年由K. S. Yee提出的。这种方法通过将Maxwell旋度方程转化为有限差分式而直接在时域求解,通过建立时间离散的递进序列,在相互交织的网格空间中交替计算电场和磁场。经过三十多年的发展,这种方法已经广泛应用到各种电磁问题的分析之中。 Matlab作为一种工程仿真工具得到了广泛应用[2]。用于时域有限差分法,可以简化编程,使研究者的研究重心放在FDTD法本身上,而不必在编程上花费过多的时间。 下面将采用FDTD法,利用Matlab仿真来分析矩形波导谐振腔的电磁场,说明了将二者结合起来的优越性。 1FDTD法基本原理 时域有限差分法的主要思想是把Maxwell方程在空间、时间上离散化,用差分方程代替一阶偏微分方程,求解差分方程组,从而得出各网格单元的场值。FDTD 空间网格单元上电场和磁场各分量的分布如图1所示。 电场和磁场被交叉放置,电场分量位于网格单元每条棱的中心,磁场分量位于网格单元每个面的中心,每个磁场(电场)分量都有4个电场(磁场)分量环绕。这样不仅保证了介质分界面上切向场分量的连续性条件得到自然满足,而且

还允许旋度方程在空间上进行中心差分运算,同时也满足了法拉第电磁感应定律和安培环路积分定律,也可以很恰当地模拟电磁波的实际传播过程。 1.1Maxwell方程的差分形式 旋度方程为: 将其标量化,并将问题空间沿3个轴向分成若干网格单元,用Δx,Δy和Δz 分别表示每个网格单元沿3个轴向的长度,用Δt表示时间步长。网格单元顶点的坐标(x,y,z)可记为: 其中:i,j,k和n为整数。 同时利用二阶精度的中心有限差分式来表示函数对空间和时间的偏导数,即可得到如下FDTD基本差分式: 由于方程式里出现了半个网格和半个时间步,为了便于编程,将上面的差分式改写成如下形式:

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

各种BP学习算法MATLAB仿真

3.3.2 各种BP学习算法MATLAB仿真 根据上面一节对BP神经网络的MATLAB设计,可以得出下面的通用的MATLAB程序段,由于各种BP学习算法采用了不同的学习函数,所以只需要更改学习函数即可。 MATLAB程序段如下: x=-4:0.01:4; y1=sin((1/2)*pi*x)+sin(pi*x); %trainlm函数可以选择替换 net=newff(minmax(x),[1,15,1],{'tansig','tansig','purelin'},'trainlm'); net.trainparam.epochs=2000; net.trainparam.goal=0.00001; net=train(net,x,y1); y2=sim(net,x); err=y2-y1; res=norm(err); %暂停,按任意键继续 Pause %绘图,原图(蓝色光滑线)和仿真效果图(红色+号点线) plot(x,y1); hold on plot(x,y2,'r+'); 注意:由于各种不确定因素,可能对网络训练有不同程度的影响,产生不同的效果。如图3-8。 标准BP算法(traingd)

图3-8 标准BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)增加动量法(traingdm) 如图3-9。 图3-9 增加动量法的训练过程以及结果(原图蓝色线,仿真图+号线)弹性BP算法(trainrp)如图3-10 图3-10 弹性BP算法的训练过程以及结果(原图蓝色线,仿真图+号线)

动量及自适应学习速率法(traingdx)如图3-11。 图3-11 动量及自适应学习速率法的训练过程以及结果(原图蓝色线,仿真图+号线)共轭梯度法(traincgf)如图3-12。

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

基于MATLAB的外弹道模型仿真研究

2006年第27卷第5期中北大学学报(自然科学版)V o l.27 N o.5 2006 (总第109期)JOURNAL OF NORTH UN IVERSIT Y OF CH INA(NATURAL SC IENCE ED ITI ON)(Sum N o.109) 文章编号:167323193(2006)0520412204 基于M A TLAB的外弹道模型仿真研究 Ξ 马利兵1,林 都2 (1.中北大学理学院,山西太原030051;2.中北大学信息与通信工程学院,山西太原030051) 摘 要: 介绍了基于M A TLAB运用仿真模型的设计和仿真方法对直角坐标系下弹丸质心运动的研究方 法.首先给出直角坐标系下弹丸质心运动方程组,研究如何采用M A TLAB建立直角坐标系下外弹道质心 运动系统的仿真模型,进行仿真实验并对实验结果进行分析.结果表明,利用该仿真算法对外弹道进行仿真 研究具有模型设计简单、修改容易和结果直观等特点. 关键词: M A TLAB;质点弹道方程组;仿真模型 中图分类号: TJ012 文献标识码:A A Research on the Si m ulation of Exter ior Trajectory Based on M AT LAB M A L i2b in1,L I N D u2 (1.Schoo l of Science,N o rth U n iversity of Ch ina,T aiyuan030051,Ch ina; 2.Schoo l of Info rm ati on and Comm un icati on Engineering,N o rth U n iversity of Ch ina,T aiyuan030051,Ch ina) Abstract:A research m ethod fo r the design and si m u lati on of m ass trajecto ry of p ill in the rectangu lar coo rdinate system based on M A TLAB has been in troduced.A t first,the equati on s of m ass trajecto ry of p ill in the rectangu lar coo rdinates system are discu ssed;secondly,the design of the si m u lati on m odel w ith M A TLAB,as w ell as the exp eri m en t analysis,has been discu ssed.Such m ethod of ex teri o r trajec2 to ry si m u lati on has the advan tages that the m odel can be easily designed and the data can be visualized. Key words:M A TLAB;equati on s of po in t2m ass trajecto ry;si m u lati on m odel 外弹道学是研究弹箭在空中运动规律及总体性能的科学,其研究对象包括枪弹、炮弹、航弹、火箭及导弹等飞行体.外弹道学是建立在运动稳定性、振动理论、多体系统动力学、空气动力学等力学基础之上的;又依赖于现代控制论和计算机技术的发展,并与测量技术密切相关[1]. 弹箭的外弹道一般都是用一阶微分方程组来描述的,只有少数的微分方程能用初等方法求得解析解,多数问题的研究必需借助于现代仿真技术来解决.在传统上,武器系统的弹道仿真是采用高级语言编程计算,这是一个相当繁杂的过程.仿真研究需要建立系统的数学模型,设计一种算法使系统模型被计算机接受,并将其编程在计算机上运行,需要很长的时间,同时仿真结果为大量的数据,必需使用相关的软件去分析.这就大大阻碍了仿真技术的广泛应用,而M A TLAB提供的S I M U L I N K仿真工具可以有效地解决这些问题. M A TLAB是美国M ath W o rk s公司推出的一套高性能数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成一个方便的、界面友好的用户环境[2].S I M U L I N K是M A T2 LAB一起发行的用于非线性系统进行仿真的交互软件系统,是实现动态系统建模、仿真的一个集成工作环境.作为M A TLAB的重要组成部分,S I M U L I N K使M A TLAB功能进一步扩展.S I M U L I N K具有相对独立的功能和使用方法,提供友好的图形界面,模型由模块组成的框图表示,实现了可视化建模, Ξ收稿日期:2006203225  作者简介:马利兵(19722),男,讲师.主要从事系统建模与仿真研究.

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

弹道仿真

导弹无控弹道仿真 蒋 洋 (北京理工大学 宇航学院) 摘 要:在进行导弹总体设计时,会进行无控和有控弹道仿真来验证导弹的设计是否合理,利用matlab 对导弹运动方程组进行求解可以得到导弹的无控弹道曲线等。 关键词:无控弹道;matlab ;导弹运动方程组 Abstract : In the design of the missile, we will do uncontrolled and controlled ballistic trajectory simulation to verify whether the design is reasonable or not.With the help of matlab,we can easily solve the equations of motion of a missile to get uncontrolled trajectory curve. Key words : Uncontrolled trajectory;matlab; the equations of motion of a missile 1、数学模型及公式 由于四阶龙格-库塔法精度高且易于编写程序,所以在本次仿真实验中求解导弹运动方程组将使用龙格-库塔法,龙格-库塔法的运算公式如下: 1*(,)k k t f t K x ?= 121*(,)22 k k K K t t f t x ??++= 231*(,)22k k K K t t f t x ??+ += 34*(,)k k t f t K t x K ?+?+=

11 2341()6k k x x K K K K +=++++ 在实验中使用的数学模型如下方程所述 sin mV cos cos s c i sin os n z z z z z z z c dV m P dt dx V dt dy V dt dm m X G d P Y G dt d J M M dt dt d d t ωααθθαθωαωωαθθθ??--==+-=+==-==-= 以上数学模型满足以下假设: 1)侧向运动参数,,,,v x y βγγωω及舵偏角,x y δδ都比较小。 这样可以令:cos cos cos 1v βγγ≈≈≈ 且略去小量的乘积sin sin ,sin ,,sin v v x y y z βγγωωωγ……以及参数,β ,x y δδ对阻力X 的影响。 2)导弹基本上在铅垂面内飞行,即其弹道与铅垂面弹道差别不大。 3)俯仰操纵机构的偏转仅取决于纵向运动参数;而偏航、倾斜操纵机构的偏转仅取决于侧向运动参数。 其他相关公式: 空气动力 阻力212x X c V S ρ= 升力212 y Y c V S ρ=

内点法matlab仿真doc资料

编程方式实现: 1.惩罚函数 function f=fun(x,r) f=x(1,1)^2+x(2,1)^2-r*log(x(1,1)-1); 2.步长的函数 function f=fh(x0,h,s,r) %h为步长 %s为方向 %r为惩罚因子 x1=x0+h*s; f=fun(x1,r); 3. 步长寻优函数 function h=fsearchh(x0,r,s) %利用进退法确定高低高区间,利用黄金分割法进行求解h1=0;%步长的初始点 st=0.001; %步长的步长 h2=h1+st; f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); if f1>f2 h3=h2+st; f3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3; h3=h3+st; f2=f3; f3=fh(x0,h3,s,r); end else st=-st; v=h1; h1=h2; h2=v; v=f1; f1=f2; f2=v; h3=h2+st; f3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3; h3=h3+st; f2=f3;

f3=fh(x0,h3,s,r); end end %得到高低高的区间 a=min(h1,h3); b=max(h1,h3); %利用黄金分割点法进行求解 h1=1+0.382*(b-a); h2=1+0.618*(b-a); f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); while abs(a-b)>0.0001 if f1>f2 a=h1; h1=h2; f1=f2; h2=a+0.618*(b-a); f2=fh(x0,h2,s,r); else b=h2; h2=h1; f2=f1; h1=a+0.382*(b-a); f1=fh(x0,h1,s,r); end end h=0.5*(a+b); 4. 迭代点的寻优函数 function f=fsearchx(x0,r,epson) x00=x0; m=length(x0); s=zeros(m,1); for i=1:m s(i)=1; h=fsearchh(x0,r,s); x1=x0+h*s; s(i)=0; x0=x1; end while norm(x1-x00)>epson x00=x1; for i=1:m s(i)=1; h=fsearchh(x0,r,s);

图像运算的MATLAB实现

rice=imread(‘rice.png’); % 读入图像 I=double(rice); % 数据类型转换 J=I*0.43+60; % 像素点算术运算 rice2=uint8(J) % 数据类型转换subplot(1,2,1),imshow(rice); % 原图绘制subplot(1,2,2),imshow(rice2); % 计算后图像绘制

X = uint8([ 255 10 75; 44 225 100]); Y = uint8([ 50 20 50; 50 50 50 ]); Z = imdivide(X,Y)

I = imread('rice.png'); % 读入图像background = imopen(I,strel('disk',15)); % 图像开运算Ip = imdivide(I,background); % 图像除法运算imshow(Ip,[]) % 显示运算后的图像

I = imread('rice.png'); % 读入图像 J = imdivide(I,2); % 图像除以一个常数subplot(1,2,1), imshow(I) % 显示原始图像subplot(1,2,2), imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像J = imlincomb(2,I); % 灰度值放大imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像 J = uint8(filter2(fspecial('gaussian'), I)); % 图像滤波 K = imlincomb(1,I,-1,J,128); % K(r,c) = I(r,c) - J(r,c) + 128 % 图像相减后加上一个常数figure, imshow(K) % 显示运算后的图像

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

(图论)matlab模板程序

(图论)matlab模板程序

第一讲:图论模型 程序一:可达矩阵算法 %根据邻接矩阵A(有向图)求可达矩阵P(有向图) function P=dgraf(A) n=size(A,1); P=A; for i=2:n P=P+A^i; end P(P~=0)=1; %将不为0的元素变为1 P; 程序二:无向图关联矩阵和邻接矩阵互换算法F表示所给出的图的相应矩阵 W表示程序运行结束后的结果 f=0表示把邻接矩阵转换为关联矩阵 f=1表示把关联矩阵转换为邻接矩阵 %无向图的关联矩阵和邻接矩阵的相互转换 function W=incandadf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F))/2; %计算图的边数 n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 W(i,k)=1; %给边的始点赋值为1 W(j,k)=1; %给边的终点赋值为1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); W(a(1),a(2))=1; %存在边,则邻接矩阵的对应值为1 W(a(2),a(1))=1;

end else fprint('Please imput the right value of f'); end W; 程序三:有向图关联矩阵和邻接矩阵互换算法 %有向图的关联矩阵和邻接矩阵的转换 function W=mattransf(F,f) if f==0 %邻接矩阵转换为关联矩阵 m=sum(sum(F)); n=size(F,1); W=zeros(n,m); k=1; for i=1:n for j=i:n if F(i,j)~=0 %由i发出的边,有向边的始点 W(i,k)=1; %关联矩阵始点值为1 W(j,k)=-1; %关联矩阵终点值为-1 k=k+1; end end end elseif f==1 %关联矩阵转换为邻接矩阵 m=size(F,2); n=size(F,1); W=zeros(n,n); for i=1:m a=find(F(:,i)~=0); %有向边的两个顶点 if F(a(1),i)==1 W(a(1),a(2))=1; %有向边由a(1)指向a(2) else W(a(2),a(1))=1; %有向边由a(2)指向a(1) end end else fprint('Please imput the right value of f'); end W;

PID控制算法的matlab仿真

PID 控制算法的matlab 仿真 PID 控制算法就是实际工业控制中应用最为广泛的控制算法,它具有控制器设计简单,控制效果好等优点。PID 控制器参数的设置就是否合适对其控制效果具有很大的影响,在本课程设计中一具有较大惯性时间常数与纯滞后的一阶惯性环节作为被控对象的模型对PID 控制算法进行研究。被控对象的传递函数如下: ()1d s f Ke G s T s τ-= + 其中各参数分别为30,630,60f d K T τ===。MATLAB 仿真框图如图1所示。 图1 2 具体内容及实现功能 2、1 PID 参数整定 PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制参数就是取得较好的控制效果的先决条件。常用的PID 参数整定方法有理论整定法与实验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。在此处选用扩充临界比例度法对PID 进行整定,其过程如下: 1) 选择采样周期 由于被控对象中含有纯滞后,且其滞后时间常数为 60d τ=,故可选择采样周期1s T =。 2) 令积分时间常数i T =∞,微分时间常数0d T =,从小到大调节比例系数K , 使得系统发生等幅震荡,记下此时的比例系数k K 与振荡周期k T 。 3) 选择控制度为 1.05Q =,按下面公式计算各参数:

0.630.490.140.014p k i k d k s k K K T T T T T T ==== 通过仿真可得在1s T =时,0.567,233k k K T ==,故可得: 0.357,114.17,32.62, 3.262p i d s K T T T ==== 0.0053.57 p s i i p d d s K T K T K T K T === = 按此组控制参数得到的系统阶跃响应曲线如图2所示。 01002003004005006007008009001000 0.20.40.60.811.21.41.6 1.8 图2 由响应曲线可知,此时系统虽然稳定,但就是暂态性能较差,超调量过大,且响应曲线不平滑。根据以下原则对控制器参数进行调整以改善系统的暂态过程: 1) 通过减小采样周期,使响应曲线平滑。 2) 减小采样周期后,通过增大积分时间常数来保证系统稳定。 3) 减小比例系数与微分时间常数,以减小系统的超调。 改变控制器参数后得到系统的阶跃响应曲线如图3所示,系统的暂态性能得到明显改善、

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