十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
MATLAB提供了计算贝塞尔函数的函数,具体包括:
创新互联公司专注于网站建设|网页维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖混凝土搅拌罐等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。
besselj - 第一类贝塞尔函数,或简称贝塞尔函数;
bessely - 第二类贝塞尔函数,又称诺伊曼函数(Neumann function);
besseli - 第一类修正贝塞尔函数;
besselk - 第二类修正贝塞尔函数;
besselh - 第三类贝塞尔函数,又称汉克尔函数(Hankel function).
这几个函数的调用语法基本相同,例如
J = besselj(nu,Z)
J = besselj(nu,Z,1)
[J,ierr] = besselj(nu,Z)
其中,nu为贝塞尔函数的阶数,Z为函数自变量.阶数必须为实数,但Z可以是复数.
值得一提的是,上述函数是MATLAB基本模块(也就是说不需要任何附加的工具箱)提供的特殊函数,采用数值方法计算;而符号数学工具箱则提供了第一和第二类的4个贝塞尔函数,名称和调用方式都与MATLAB基本系统的4个函数完全一致,但支持微分、积分等符号运算.
数学建模和数学分析是工科类专业学生学习的基础,同时也是工程设计中的首要工作,随着现代系统的大规模发展趋势,所需的数学运算日益复杂,特别是对于矩阵运算的要求逐渐增多,这些工作已经难以以手工完成,因此,随着科学技术的前进以及计算机技术的日益完善,一些便于实现的仿真应用软件逐步在科技领域占了重要的地位。仿真软件不同于编程软件,作为一种分析工具,它们在人机交互式方面有着极大的优越性,人们可以不必对编程所用语言下很大的工夫去学习它,从而可以节省大量的时间用于科学研究,提高了工作进程和效率。
MATLAB软件包最早由美国Mathwork公司于1967年推出,是“Matrix Laboratory”的缩写,早期是为了实现一些矩阵运算;而随着这种软件的逐步发展,它以计算及绘图功能强大的优势逐渐渗入到了各个工程领域,比如数学、物理、力学、信号分析以及数字信号处理等,目前已是深受工程师们喜爱的一种分析工具,目前该软件已经发展到了Matlab7.0版本。Matlab大大降低了对使用者数学基础和计算机语言知识方面的要求,而且编程效率较高,还可以直接在计算机上输出结果和精美的图形。
9.1MATLAB语言概述
9.1.1 Matlab语言的特点
1. 编程效率高
作为一种面向工程的高级语言,Matlab允许用数学形式的语言来编写程序,这种编程语言和其它诸如C、Fortran等语言相比,其语言格式更接近于我们平时的书写习惯,因此,Matlab又被称为纸式算法语言。由于其编写程序简单,因此编程效率高,易学易懂,初学者在几小时之内便可以达到简单操作的程度。
另外在Matlab中还可以调用C和Fortran子程序,而且调用格式非常简单。
2. 采用交互式人机界面,用户使用方便
Matlab语言为解释型操作,人们可以在每条指令之后马上得到该指令执行的结果;同时在执行的过程中如发现指令有错,在屏幕上马上会出现出错提示。该语言提供了丰富的在线帮助功能,想了解指令或操作的格式、功能等,只要在窗口输入‘HELP 指令’,该指令的格式、功能等便能马上在屏幕上显示出来。
3. 语句简单,涵盖丰富
Matlab语言中有丰富库函数功能,这些函数功能和C语言中的函数一样使用方便,而且Matlab的函数调用起来要更方便,更接近于生活语言。这些函数包括常用的数学计算,绘图以及一些扩展工具箱。
4. 具有多个功能强大的应用工具箱
Matlab中包括了一些扩展的函数功能,一般称为工具箱,这些工具箱实际上是一些功能函数集,每一个工具箱适用于各自不同的科学分析领域。现在Matlab中已有系统分析、信号处理、图象处理、DSP等多个工具箱,而且Matlab所包括的工具箱还在不断地被扩展。
5. 方便的计算和绘图功能
Matlab中的很多运算符不仅可以用于数值计算,而且有很多运算符只要增加一个‘’便可以用于矩阵运算,另外在Matlab中还给出了适用于不同领域的特殊函数,使得一些诸如卷积等的复杂运算也可以很方便的得到解决;Matlab的绘图函数十分丰富,用适用于不同坐标系的绘图语句,还可方便地在所绘图形上标注横、纵坐标变量、图形名称等。另外,在调用绘图语句时,只需改变函数变量,就可以绘出不同颜色、不同风格的线或图。
9.1.2 Matlab命令的结构
MATLAB语言的典型结构为:
MATLAB语言=窗口命令+M文件
Matlab的命令窗口就是其工作空间,也是Matlab运行的屏幕环境,在这种环境下输入的Matlab语句,称为“窗口命令”。所谓窗口命令,就是在上述环境下输入的Matlab语句并直接执行它们完成相应的运算、绘图等。
但对于复杂功能,Matlab利用了M文件。Matlab的程序可以向下兼容。
M文件由一系列Matlab语句组成,在Matlab的编辑窗口完成输入。它既可以是一系列窗口命令,又可以是由各种控制语句和说明语句构成的函数。
9.1.3 Matlab的库函数
库函数是系统根据需要编制好了,提供用户使用的函数,用户使用它们时,只要写出函数名,调整函数参量,无须再编写该函数的程序。
各种不同版本的Matlab都提供了一批库函数,但其提供的库函数的数目不同,函数名和函数功能也不完全一样。
常用的库函数包括一些基本数学函数、字符与字符串函数、输入输出函数等
除了基本库函数外,不同版本的Matlab还增加了不同的有专门功能的功能库函数,也称为工具箱,例如信号处理工具箱、控制系统工具箱等。
9.1.4 Matlab命令的执行
一般常用的有两个窗口,“命令窗口”和“调试窗口”,用户可以在“调试窗口”中输入自己编制的程序以及对程序进行修改和调试。程序输入后应该进行存盘操作,文件名按规定选择,开头必须为字母,长度不能超过19个字符,文件名前19个字符相同的文件按同一文件处理;在“命令窗口”中用户可以执行Matlab命令或将用户编制的文件以命令形式在界面上运行。
执行M文件的方法有两个,一是直接在调试窗口中利用功能菜单的调试命令完成。;二是将在“调试窗口”中存好的M文件的文件名在“命令窗口”中输入后按回车即可
9.1.5 数据的输入和结果输出
Matlab的文件格式为固定格式,由于其数据输入极为简单,因而对少量的数据输入,不需要花费很多的时间。
Matlab的结果输出有数据输出(包括表达式)和图形输出两种,数据结果会直接输出到命令窗口中,图形则在专门的图形窗口中显示。
9.1.6 环境参数
操作系统中的PATH是很常见的,MATLABPATH也是Matlab中很重要的环境参数,设置好适当的MATLABPATH以后,Matlab可以方便地调用任何地方的M文件和运行可执行文件。
如果在Matlab中输入一个名字,例如abc,则Matlab会按以下顺序做
1. 看abc是否为工作空间中的变量
2. 检查abc是否是一个内部变量
3. 在当前目录中寻找abc.MEX或abc.M文件,假若两个文件同时存在,则abc.MEX优先考虑。
4. 根据环境参数MATLABPATH指定的搜索路径来寻找包含abc.MEX或abc.M的目录
MATLABPATH已经在Matlab进行安装时自动设置好,它包括了除Matlab的工作目录(MATLAB/BIN)之外的所有其他Matlab的子目录。
用户也可以增加或修改MATLABPATH的内容来增加或修改搜索路径,以便建立一些特殊的、专用的文件库,修改MATLABPATH可以用Matlab的PATH命令,但是这种修改不能被保存下来,在退出Matlab后就自动取消,要保持的MATLABPATH设置可以通过编辑的启动控制文件—MATLABC.M来实现。
9.1.7 命令与文件的编辑和建立
1. 命令行的编辑
鼠标和键盘上的箭头等可以帮助修改输入的错误命令和重新显示前面输入过的命令行。例如准备输入:
y=square(pi*x);
而误将square拼写成了squae,MATLAB将返回出错信息:
???Undefined function or variable squae
其中???是出错信息的提示符,说明输入有MATLAB不能识别的命令。此时只须按上下箭头,刚才输入的命令即可重新显示在屏幕上。这时利用鼠标或键盘,将光标置于e的位置,再输入字符r即可。回车后,屏幕将给出命令执行的结果。先前输入的命令存放在内存中。由于内存缓冲区的大小有限,只能容纳最后输入的一定量的命令行,因而可重新调用的也是后面输入的一定数据的命令行。下表9-1是一些编辑键及其功能:
表9-1 MATLAB的编辑键及功能
命令行编辑和重新调出键
↑ 重新调出前一命令行
↓ 重新调出后一命令行
← 光标左移一个字符
→ 光标右移一个字符
ctrl+← 光标左移一个字
ctrl+→ 光标右移一个字
Home 光标移到行首
End 光标移到行尾
Delete 删除光标所在位置的字符
Backspace 删除光标所在位置左边的一个字符
若在提示符下输入一些字符,则↑键将重新调出以这些字符为开头的命令行。
这里没有插入和改写的转换操作,因为光标所在处总是执行插入的功能。
如果使用鼠标,会使这些操作更为方便。把鼠标放到光标移到位置,并定位即完成光标移动。利用鼠标,还可以方便地完成字符串的选择、复制和删除。
2. 文件的编辑与建立
一般我们常用的建立M文件的途径是利用Matlab提供的M文件窗口。
①建立新的M文件
图9-1 Matlab命令窗口
选择Matlab命令窗口中的菜单File—New—M-File菜单,如图9-1所示,即可出现文件调试窗口,如图9-2所示,在此窗口中将用户程序输入,
图9-2Matlab调试窗口
退出该窗口时应存盘,文件名的命名按前所述,其扩展名必须为.M。
②编辑已有的文件
选择Matlab命令窗口中的菜单File—Open命令,出现文件选择窗口,选择所需文件即可。
9.2 MATLAB的基本语法
9.2.1基础知识
1. 语句和变量
Matlab语句的通常形式为:
变量=表达式
简单的形式为:表达式
表达式由操作符或其他字符,函数和变量名组成,表达式的结果为一个矩阵,显示在屏幕上,同时输送到一个变量中并存放于工作空间中以备调用。如果变量名和“=”省略,则ans变量将自动建立,例如输入:1900/81
得到输出结果:
ans=
23.4568
如果在语句的末尾是分号“;”,则说明除了这一条命令外还有下一条命令等待输入,Matlab这时将不给出中间运行结果,当所有命令输入完毕后,直接打回车键,则Matlab将给出最终的运行结果。
如果一条表达式很长。一行放不下则键入“…”后回车,即可在下一行继续输入。注意“…”前要有空格。
变量和函数名由字母或字母加数字组成,但最多不能超过19个字符,否则只有前19个字符被接受。
Matlab的变量区分字母大小写,函数名则必须用小写字母,否则会被系统认为是未定义函数,也可以用casesen命令使Matlab不区分大小写。
2. 数和算术表达式
惯用的十进制符号和小数点、负号等,在Matlab中可以同样使用。表示10的幂次要用符号e或E。
在计算中使用IEEE算法精确度是eps,且数值允许在10-308-10308间16位长的十进制数。
Matlab的算术运算符如下表9-2所示:
表9-2 Matlab的算术运算符
+ 加
- 减
* 乘
/ 右除
\ 左除
^ 幂
对于矩阵来说,这里左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于标量,两种除法运算的结果相同。
3. 输出格式
任何Matlab语句的执行结果都可以在屏幕上显示,同时赋值给指定变量时赋值给ans,数字显示格式可由format命令来控制。format只影响结果的显示,不影响其计算与存储。Matlab总是以双精度执行所有的运算。
1. Help命令
Help命令很有用,它为Matlab绝大多数命令提供了联机帮助信息。
Help除了可以以菜单形式提供帮助外,还可以在命令窗口输入“Help”命令来取得信息。
输入help lsim将得到特征函数lsim的信息。如图9-3所示:
图9-3 help命令的使用
输入help [ 将显示如何使用方括号输入矩阵。
9.2.2向量
1. 产生向量
在Matlab中“:”是一个重要的字符,如产生一个1-5单位增量的行向量:在命令窗口中输入
x=1:5
回车后得到结果:
x=
1 2 3 4 5
也可以产生一个单位增量小于1的行向量,方法是把增量放在起始和结尾量的中间,如:
t=0:0.2:1
在命令窗口中输入后回车将得到以下结果:
t =
0 0.2000 0.4000 0.6000 0.8000 1.0000
“:”也可以用来产生简易的表格。为了产生纵向表格形式,首先可形成行向量,而后转置得到,即可与另一列向量合成两列的一个矩阵,如:
在MATLAB命令窗口中输入如下语句:
t=(0:0.1:1)’;
y1=exp(-t);
[t y1]
命令窗口中将会显示结果如下:
ans =
0 1.0000
0.1000 0.9048
0.2000 0.8187
0.3000 0.7408
0.4000 0.6703
0.5000 0.6065
0.6000 0.5488
0.7000 0.4966
0.8000 0.4493
0.9000 0.4066
1.0 0.3679
由结果可以看到,简单的命令语句便可以生成一个十一行两列的矩阵。
2. 下标
单个的矩阵元素可在括号中用下标来表达。例如已知:
A=
1 2 3
4 5 6
7 8 9
其中元素A(3,3)=9,A(1,2)=2等。如用语句A(3,2)=A(1,1)+A(2,1),则产生的新矩阵为:
A=
1 2 3
4 5 6
7 5 9
下标也可以是一个向量。例如若x和v是向量,则x(v)也是一个向量;[x(v(1)) x(v(2))…x(v(n))]。对于矩阵来说,向量下标可以将矩阵中邻近或不邻近元素构成一新的子矩阵,假设A是一个10*10的矩阵,则A(1:5,3)指A中由前五行对应第三列元素组成的5*1子矩阵。
又如A(1:5,7:10)是前5行对应最后四列组成的5*4子矩阵。使用“:”代替下标,可以表示所有的行或列。如:A(:,3)代表第三列元素组成的字矩阵,A(1:5,:)代表由前5行所有元素组成的子矩阵。对于子矩阵的赋值语句,“:”有更明显的优越性。如A(:,[3,5,10])=B(:,1:3)表示将矩阵的前三列,赋值给矩阵的第三、五、十列。
9.2.3数组运算
数组和矩阵是两个完全不同的概念,虽然在Matlab中它们在形式上有很多的一致性,但它们实际上遵循着不同的运算规则。Matlab数组运算符由矩阵运算符前面加一个“.”来表示,如“.*”“./”等。
9.2.4 数学函数
一组基本函数作用在一个数组上,如
A=[1 2 3;4 5 6]
B=fix(pi* A)
C=cos(pi*B)
运算将按函数分别作用于数组的每一个元素进行,其结果为:
A =
1 2 3
4 5 6
B =
3 6 9
12 15 18
C =
-1 1 -1
1 -1 1
表9-3是Matlab所提供的数学函数主要有:
表9-3 Matlab的主要数学函数
三角函数
sin 正弦
cos 余弦
tan 正切
asin 反正弦
acos 反余弦
atan 反正切
atan2 第四象限的反正切
sinh 双曲正弦
cosh 双曲余弦
tanh 双曲正切
asinh 反双曲正弦
acosh 反双曲余弦
atanh 反双曲正切
另外还有一些以此为基础的基本数学函数如表9-4所示。
表9-4 Matlab的基本数学函数
基本数学函数
abs 绝对值或复数模
angle 相角
sqrt 开平方
real 实部
imag 虚部
conj 复数共轭
round 四舍五入到最近的整数
fix 朝零方向取整
floor 朝负无穷方向取整
ceil 朝正无穷方向取整
sign 正负符号函数
rem 除后余数
exp 以e为底的指数
log 自然对数
log10 以10为底的对数
以及一些特殊的数学函数如表9-5:
表9-5 Matlab的特殊函数
特殊函数
bassel 贝塞尔函数
gamma 完整和非完整的γ函数
rat 有理逼近
ert 误差函数
invert 逆误差函数
ellipk 第一类完整椭圆积分
ellipj 雅可比椭圆函数
以及在此基础上扩充的特殊数学函数。
9.3 绘图
在Matlab中把数据绘成图形的命令有多种。以下表9-6列出了这些命令:
表9-6 Matlab的主要绘图命令
绘图命令
plot 线性X—Y坐标图
loglog 双对数坐标图
semilogx X轴对数半对数坐标图
semilogy Y轴对数半对数坐标图
polar 极坐标图
mesh 三维消隐图
contour 等高线图
bar 条形图
stairs 阶梯图
除了可以在屏幕上显示图形外,还可以对屏幕上已有的图形加注释、题头或坐标网格。主要命令如表9-7所示:
表9-7 Matlab的主要图形注解函数命令
图形加注
title 标题头
xlabel X轴标注
ylabel Y轴标注
text 任意定位的标注
gtext 鼠标定位标注
grid 网格
关于坐标轴尺寸的选择和图形处理等控制命令如下表9-8所示:
表9-8 Matlab的主要图形控制命令
图形控制命令
axis 人工选择坐标轴尺寸
clr 清图形窗口
ginput 利用鼠标的十字准线输入
hold 保持图形
shg 显示图形窗口
subplot 将图形窗口分成N块子窗
还有很多此类命令,在以后的学习中大家可以逐步掌握。
9.3.1X—Y绘图
plot命令绘制坐标图,loglog命令绘制全对数坐标图,semilogx和semilogy命令绘制半对数坐标图,polar命令绘制极坐标图。具体命令的格式及使用方法可以利用help在线帮助详细了解。
1. 基本形式
如果y是一个向量,那么绘制一个y元素和y元素排列序号之间关系的线性坐标图。例如要画y元素的序号1,2,3,4,5,6,7和对应的y元素值分别为0,0.48,0.84,1,0.91,0.6,0.14的图形,则输入命令:
y=[0 0.48 0.84 1 0.91 0.6 0.14];
plot(y)
则结果如下图9-4所示:
图9-4 曲线波形图
图中坐标轴是软件自动给出的,也可任意对图形加注,当输入以下命令:
title(’my first plot’); % 输入题头
xlabel(’x’); % 输入x轴标注
ylabel(‘y’); % 输入y轴标注
grid % 加网格
则图形显示如下图9-5所示:(注意x和y应是同样长度的向量)
图9-5 选定坐标的波形图
9.3.3图线形式和颜色
1. 形式
如果不使用缺省条件,可以选择不同的线条或点形式作图,对应符号及效果如表9-9所示:
表9-9 绘图曲线格式及命令
线方式
点方式
实线 -
虚线 ……
冒号线 :
点划线 –▪–▪
点 .
加号 +
星 *
小圆 ○
x形式 x
2. 颜色
命令及效果如表9-10所示:
表9-10 图形颜色命令
颜色
黄 y
洋红 m
青 c
红 r
绿 g
蓝 b
白 w
黑 k
9.4 MATLAB 使用简介
首先在PC机上安装Matlab,不同版本的Matlab需要不同的系统支持;当机器上装载了Matlab软件包后,用户就可以使用了。
下面以一个具体的小例子简要介绍如何使用Matlab软件包来实现一些计算及绘图功能。使用中我们采用了Matlab6.5版本。
工程中经常会遇到曲线拟合的问题,当实验测定了发生事件的一组数据后,根据数据拟合出一条曲线,从而对事件发生的将来做出预测或在后续的系统分析中进行理论研究。在这里我们不关心曲线拟合的具体算法,只是来熟悉一下Matlab的各个窗口及命令。
实际中,一般的电信号以时间作为自变量,测定数据时可以以等时间间隔为测量依据,假设我们现在有这样的一组数据:[1,2],[1.5,3],[2,4],[2.5,3.5],[3,5],[3.5,4],[4,6],[4.5,6.6],[5,7.2],[5.5,8],要求以这组数据拟合出一条曲线。
进入MATLAB后,我们首先看到的是它的主界面——命令窗口,如图9-6所示
图9-6 Matlab命令窗口
在命令窗口中我们可以直接输入如下命令:
t=[1:0.5:5.5]; %定义自变量范围
y=[2,3,3.5,3.8,5,4.9,6,6.6,7.2,8]; %定义函数值
qx1=polyfit(t,y,1) %对数据做一次拟合
qx2=polyfit(t,y,5) %对数据做五次拟合
t1=1:0.05:5.5; %确定作图横坐标范围
y1=polyval(qx1,t1); %形成曲线数学模型
y2=polyval(qx2,t1);
plot(t,y,'*',t1,y1,':',t1,y2) %作图
即可得到这些命令的执行结果,它以图形的形式给出,如图9-7所示,从图中可以看到,兰色的‘*’是数据点,绿色的虚线是一次拟合曲线,而红色的实线则是三次拟合曲线。
图9-7 曲线拟合图
我们可以多次反复进行不同次数的曲线拟合,最终可以得到一条和数据点最接近的曲线。这样的反复工作在Matlab中很容易就可以实现,只要改变命令中的‘polyfit’函数的参数就可以得到。
由于我们不是主要对软件做详细的介绍,所以在后面内容中有一些命令并没有做很细致的描述,大家可以充分利用Matlab的在线帮助功能对这些命令做一些深入的认识,例如,在学习过程中我们若不了解‘polyval’函数的作用,就可以在Matlab的命令窗口中输入
helppolyval
然后回车,便可看到如下窗口图9-8,从而可以很方便地了解和熟悉该函数的作用和调用格式
图9-8 Matlab帮助窗口
从窗口信息中我们可以知道,‘polyval’函数的功能是构建数据的多项式数学模型。在图9-6中我们可以看到有如下的输出信息,它即我们所构造的两个多项式的系数矩阵
qx1 =
1.2776 0.8479
qx2 =
0.0160 -0.2798 1.8717 -5.8876 9.7583 -3.4642
通过调用函数‘polyval’我们即可得到两个多项式所表示的曲线方程:
值得注意的是,如果需要编写复杂一些或经常需要进行参数改动的程序,则最好在Matlab的调试窗口中进行编程,然后形成M-文件,过程如下:
1. 从命令窗口进入调试窗口
2. 在调试窗口中输入以上语句
3. 调试程序,获得所需要的信息
调试程序有两种方法,一是在调试窗口中直接进行,如图9-9所示,在调试窗口中选择命令菜单Debug—Run命令,即可得到调试结果;二是在调试窗口完成程序的编制后存盘(例如文件名为qx.m),推出调试窗口,返回到命令窗口中,在命令窗口中键入qx然后回车,也可以马上得到调试结果。
图9-9 调试窗口中的程序调试
9.5 交互式人机界面介绍
利用编程的方法可以方便地实现一些分析的仿真,但是这种仿真设计的方法还是需要掌握一定的编程语言,怎样脱离开编程而实现更简捷的EDA设计是所有EDA设计软件发展的一个思路,在MATLAB软件包中还提供有一些交互式的图形用户界面,用户可以直观地利用鼠标直接在屏幕上控制图形就可以完成一些设计和分析任务。
在MATLAB数字信号处理工具箱中,用户便可以利用这种图形形式的人机界面在窗口中利用鼠标而完成信号的输入、观察和测量;对信号进行频谱分析,了解信号的频率特征以及实现数字滤波器的设计等。在这里,用户不必去了解MATLAB中众多的函数功能及语法规则就可以完成大部分的信号及系统的分析工作。
下面简要介绍这种界面的基本组成。
在MATLAB命令窗口中,键入‘sptool’命令,一个sptool窗口便会马上弹出,如图9-10所示。第一次打开是,窗口的名称是一个未定义的sptool窗(untitled)。用户在使用后可以对窗口进行命名,从而可以在下次使用时进行打开调用。
图9-10 SPTOOL窗口
在sptool窗口中,用户可以可视化地实现信号分析及处理的全部工作。窗口有信号(SIGNALS)、滤波器(FILTER)和频谱(SPECTRA)三个栏目,它们分别记录了用户所用过的信号、滤波器和频谱。
Sptool窗口的主要命令菜单有文件(FILE)和编辑(EDIT)两个:
1. File菜单
l Open session 打开已经存在的扩展名为.spt的SPTool窗口;
l Import 鼠标选择该项后会弹出一个对话框,用户根据提示可以从磁盘或MATLAB工作空间向SPTool窗口输入信号、滤波器或频谱,它们文件名的后缀必须是 .MAT文件形式;
l Export 向MATLAB工作空间或磁盘输出信号、滤波器或频谱的结构参数
l Save Session ,Save Session As 将所命名的SPTool窗口以扩展名为 .spt的MAT文件存放
l Perferences 设置信号处理交互式用户界面工具的性能
l Close 关闭SPTool窗口
在弹出的SPTool窗口下方还有四种命令:
Signals 栏下的View命令用来激活信号浏览窗
Filter 栏下有四个命令按钮
l View命令用来激活滤波器浏览窗
l New Design命令用来激活滤波器设计窗,从而可以设计新的滤波器
l Edit Design命令用来激活滤波器设计窗口并对所设计的滤波器进行编辑,可以任意选择滤波器的某些参数
l Apply命令用来实现新设计的应用
Spectra 栏下有三条命令:
l View 用来激活频谱观察窗口,观察所选择的信号频率特性
l Create 命令用来激活频谱观察窗,产生所选定信号的频谱
l Update 用于更新已选定信号频谱
2. Edit菜单
l Duplicate 用于复制所选定的参量
l Name 用于对所选定的参量命名
l Clear 清除所选定的参量
l Sampling Frequency 给选定的信号或滤波器设置采样频率
3. Window菜单用于显示当前所激活的窗口名称
4. Help菜单提供在线帮助
我们可以在SPTool窗的Signals栏下输入所要观测的信号,在Filter栏下进行数字滤波的设计,而在Spectra栏中对选定信号进行频谱分析,有兴趣的可以自己进一步深入学习。
虚拟仪器 - 软件就是仪器
虚拟仪器,虚拟示波器,虚拟仪器技术,虚拟仪器软件,虚拟仪器技术的发展,虚拟仪器组成
介绍
多媒体计算机,信息计算机信息科学和计算机网络的发展,高速公路的三个重要方向。它们相互联系,相互促进,共同发展,已经渗透到人们的日常工作??生活中,学习娱乐的各个方面,并逐步由办公室,实验室的家庭。
虚拟现实是一个重要的应用领域,多媒体计算机,多媒体技术,虚拟现实技术基础。虚拟现实(虚拟现实)是一个模拟现实的环境中使用多媒体计算机技术生成一个逼真的视觉,听觉,触觉和嗅觉。用户可能会采用自然的技能这个虚拟现实的互动体验,而用户体验的结果的反应与用户体验真正的现实 - 虚拟现实的结果相似或相同的。虚拟现实概念包括三个层次的含义:
1,虚拟现实是利用计算机技术生成逼真的实体,该实体拥有一个真正的立体视觉,立体听觉,质感触觉和嗅觉。
2,人们可以对话,即一个人的头部,眼睛,四肢真实自然的技能与虚??拟现实在虚拟现实的各种行动的反应。
3,虚拟现实技术往往必须依靠三维传感设备来完成交互操作,如头戴式立体显示器,数据手套,数据衣服,三维操作等。
虚拟现实技术还处于起步阶段,但在科学计算可视化,CAD,飞机/汽车/外科,虚拟仪器模拟经营及其他方面的应用。具有广阔的应用前景,在航空航天,国防,生物医学,教育,培训,娱乐,游戏,旅游领域。
虚拟仪器(虚拟仪器 - VI)是虚拟现实技术在仪器仪表领域,已经悄然崛起在国际舞台上的一个重要应用。虚拟仪器作为一台多媒体电脑,使用图形界面的编程技术来模拟实际的仪表盘,功能和操作,从而产生特殊的工具,以完成各种任务的基础。
由于高度的科学和技术的发展,导致了各种强大的,日益复杂的金融工具不断涌现,许多电脑微机化仪器的发展趋势,其主要性能为基础的仪器:
1,计算机硬件及接口标准化
2的硬件和软件技术
3,模块化的软件
模块控制
5,系统集成
编程图形
7,科学计算可视化
硬件接口的软件驱动程序
计算机软件和硬件技术的不断发展,再加上实际应用的需求,因此,人们越来越大的兴趣在虚拟仪器,虚拟仪器也已成为一种现实的可能性。开发的虚拟仪器主要是由于以下用途:
1,节约了仪器仪表的开发时间和资金
2,充分利用计算机数据处理和分析功能
3 ,统一仪器的用户界面
提高了仪器的功能和适用范围
5集成的仪器需要
很容易地扩展虚拟仪器的仪器主要由以下几个部分组成:
1接口的控件库
2,数据输入,输出
3,数据处理方法库
资料库
5个数据的存储和管理BR / 6,任意信号发生器
7,图形界面编程环境
界面控件库,包括一些常用的仪表盘组件,如指标计发光二极管,按钮,刻度盘,刻度盘,滑块等,每个控制,具有可编程的功能和属性。
数据输入和输出从外部设备中获取数据到计算机或输出数据由计算机来控制外部设备,数据采集板,串行和并行通信,以及其他标准的接口(IEEE- 488 GPIB,RS-232,RS-422,SCSI,VXI等),通信驱动软件,,延长仪器适用
应用范围。
数据处理方法库的集中数据处理方法,如FFT计算,过滤,建模,参数估计,并提供编程接口,这些治疗方法,这些方法只是简单的组合完成复杂的各种任务。
数据表示的方式来显示数据和处理结果,包括数字显示,曲线,直方图,散点图,二维图形,三维网格图案,填充图形三维,四维图形,图像甚至是动态的图形或图像,数据表示是非常直观和易于理解。
数据存储和管理主要是指格式的数据存储,数据查询,数据浏览方法。的
的必要性的基础上产生任何信号产生的信号,其中的一些是标准信号可用于仪器测试和自检。
图形化编程环境,用户可以使用任意组合的控制和方法,结合为一个整体,形成专门的仪器工具。虚拟仪器的用户可以快速生成所需的仪器像积木。
一个集成的环境,例如现有的虚拟仪器
1,MATLAB将高性能的数值计算和数据分析软件
MATLAB是由美国MathWorks公司将高性能的数值计算和数据分析软件。它已成为行业标准,工程和科学研究,它有一个独特的用户界面,复杂的数值计算,强大的数据分析,灵活的图形,快速的计算,方便的扩展特性,产量高,创造性科学研究的首选软件。
MATLAB基本功能:
※矩阵运算
※矩阵分解
矩阵的特征值特征向量
※信号卷积
※谱估计
※复杂的操作
一维和二维FFT
※过滤器
※曲线拟合
※三次样条符合
※贝塞尔函数
※非线性滤波器的设计优化
※线性方程组的求解
※微分方程
MATLAB工具箱包括:
※数字信号处理工具箱
控制系统设计工具箱
*系统辨识工具箱
自我膨胀的工具箱
MATLAB包括绘图功能:
直方图
※散点图 /的※图
在※三维网格图
在※二维填充图
※等高线地图
※极坐标图形
※XY图BR / ※图像显示
2,DADiSP:科学家和工程师,数据分析和图形软件
DADiSP软件开发的美国公司的DSP开发公司,主要为科学家和工程师的工具,用于数据分析和图形显示。它包括以下功能:
*矩阵运算
※特征值和特征值?
※一维,二维FFT和卷积
两个二维,三维,四维图形显示
※医学图像处理
※卫星遥感图像处理
地震信号处理
※统计分析和处理
*实验设计
※假设检验
※过滤器的设计
声音娜磊达信号处理
※语音通信信号处理
※振动分析
BR /
MP100:医学信号采集和处理系统
MP100是由美国BIOPAC医学信号采集和处理系统,运行起来它与AcqKnowledge软件,提供了一个灵活的,易于使用的模块化系统,所以你要完成数据收集和分析工作。 AcqKnowledge是一个强大的和非常灵活的包中,使用下拉菜单和对话框,而无需学习另一门编程语言,你可以设计出复杂的数据采集,模拟触发和分析系统。主要包括一个实时数据记录,分析和滤波,离线数据分析和处理,各种的数据和其他功能的图形表示。该系统可以提供可视化图形化编程环境LabVIEW虚拟仪器连接。其主要应用领域:
※运动生理学
肌电图信号记录
※相信,电子记录和分析
※EEG记录和分析
※诱发潜在的记录和分析
※性眼震电图及眼球运动分析
※神经传导分析
※psychophysiologist
※药理学
※遥测监护仪
4时,LabVIEW图形化编程的虚拟仪器
LabVIEW虚拟仪器图形化编程系统是由美国国家仪器公司开发的。包括数据采集,控制,数据点,数据表示等功能,它提供了一种新的编程方法,图形化组装软件模块,以产生特殊的仪器。流程框图的LabVIEW面板,图标/连接器面板的用户界面,流程框图是一个虚拟仪器的源代码,被称为图标/连接器接口(调用接口)。流程框图,包括组件和子VI部分的输入/输出(I / O),计算的部分,他们的图标和数据流连接的I / O组件,直接与数据采集板,GPIB板或其他外部物理仪器通信,计算组件来完成数学或其他的算术运算子VI组件调用其他的虚拟仪器。
5 LabWindows / CVI的C语言编程的虚拟仪器
LABWINDOWS使用LabVIEW和类似的功能,由同一家公司,开发的区别是,它可以用在C语言编程的虚拟仪器。
6,LabLinc V:模块化的虚拟仪器系统
模块化的虚拟仪器系统开发的的美国COULBOURN仪器的LabLinc V的基本单元,信号采集和处理,控制模块,主要用于在该领域的生理,生物医学和生物力学数据采集,实时显示和过程控制。
7,HyperSignal:可视化信号处理系统的设计
HyperSignal美国Hyperception视觉信号处理系统设计软件开发,使信号处理系统的设计过程可视化,信号处理和结果可视化。
8,Model900:灵活的数据采集和波形系统
Model900由美国公司开发的应用信号技术,提供高速大大容量数据采集,波形生成功能,使用虚拟环境的仪器,以节省开发时间和金钱。
9,DASP大容量的自动数据采集和处理
DASP,东方学院的噪声和振动分析软件, ,主要是与信号采集和分析的数据记录和分析的科学实验,多功能,自动化的数据采集,显示,阅读,计算,分析,存储,打印,绘图等。
10,LabDoc:集成的仪器包
LabDoc日本康泰克电子科技有限公司,公司开发的,它具有多种测量仪器的功能,通过一个图形化的用户界面和在线帮助,操作方便,仪器屏幕上。可用于实验室和生产线的检查,教育和培训等领域的主要测试功能:
※数字滤波
*脉冲发生器
※函数发生器
※波形产生
※调谐信号
※FFT分析
※频率计
以上我们列出了10种比较流行的虚拟仪器和系统集成环境,最杰出的作品在这方面,美国和中国在这方面才刚刚起步,目前还没有看到一个完整的虚拟仪器系统。从上面所举的例子可以看出,虚拟仪器具有以下特点:
※涉及更深奥的数值方法
※集成化信号处理和过程控制算法
※软硬件模块,独立的相互
※二次开发的集成编程环境
※多学科的产品
渗透,虚拟医学信号处理设备 BR /
一个非常广泛的医学信号,电力常见的医学信号确定,脑电图,诱发电位,肌电图,眼电图,胃电神经冲动的潜力,血压,呼吸波,脉冲波,温度等信号,其特征在于由每个
是不一样的,各自的频段,取值范围为,干扰源,从而使医疗信号处理变得非常复杂。
无论是医学信号仪器,几乎所有涉及到的信号放大,采集,分析,处理,过滤和其他常见任务,不同的信号有自己的特殊待遇,这些共性和特异性有机结合起来,形成一个集成的环境的基础上的虚拟仪器。
多参数的临床监测和诊断的需要,医学信号的采集和处理仪器融合的趋势,人们从医疗的信号仪器开发由单一功能的多功能综合型仪器的发展,但是,这种整合堆相结合的仪器是不是一个单一的功能,而是从不同的单一功能的仪器识别的相似性和差异性,形成软,硬件模块,计算机化的医学信号处理设备构成医学信号处理仪器的开发环境,这是一个虚拟仪器。
虚拟医学信号处理机器是非常有前途的领域,许多医疗设备公司的市场前景是乐观的,在这方面投入了大量的人力,物力和财力资源,以从事研究和开发,前面提到的MP100医疗数据采集系统和LabLinc的v模块化的虚拟仪器的杰出代表之一。
虚拟医学信号处理仪器的开发和生产的各种医学信号分析仪是一种工具。对于像搭积木一样快速生成一个专用仪器仪表的开发,节省了大量的开发时间和金钱,对于用户来说,可以花更少的钱,买的仪器。虚拟医学信号处理设备为一体的多功能仪表的发展奠定了基础,并尽快的最新研究成果可应用于仪器。的虚拟机可用于医学信号处理研究未知的未知特性的信号和信号,实现更快的结果,取得更大的成就目的。实际上,虚拟医学信号处理的机器发挥作用,助长了当前的热点研究领域,远程医疗,医疗电子图书。
四个虚拟仪器技术
1,数值计算
虚拟仪器,您需要提供一个灵活的数据处理方法,这些方法中,可以根据实际的需要由用户通过编程来实现,为了简化编程的复杂程度,并保存的特定时间的发展,在虚拟仪器应该是尽可能地提供各种数值计算程序,这些数值?计算主要表现在以下几个方面:
*矩阵运算(加,减,乘,逆,转置)
特征值和特征向量计算
矩阵分解
※一元,二元插值
※数值积分和微分
※线性代数方程组的求解
※非线性方程组求解
※配件和近似
※※特殊功能
回归和统计
2,数字信号处理
复杂的仪器,拥有数字信号处理的重要地位,从而在虚拟仪器是需要整合各种数字信号处理方法,和数字信号处理方法可分为几类:
信号预处理 BR / *滤波器设计滤波
※经典谱估计
※现代谱估计
※相关和卷积
※离散变换
※数字特征
※常用的信号信号建模
※※数据压缩
3,计算机图形,图像科学
图形和图直观的大量的数据,如静态和动态脑电地形图,表面温度分布,电磁场分布图等复杂的金融工具,它可以将原来抽象的数据,直观和易于理解的;此外,数据并对其进行分析的结果,人们习惯于曲线,柱状图,3D图形和等高线图。因此,在虚拟仪器,图形,图像,来创建这些数据表明该模块是非常必要的。
4,科学计算可视化
前面所提到的,复杂的,大量的数据图形,图像的虚拟仪器测绘数据是非常重要的图形,但是,是不是一件简单的事情,这是最近开发的可视化科学计算研究课题。
在科学计算可视化的根本目的是将大的实验或数值计算的成人在视觉上能感受到计算机图像获得的数据量。图片要大一些的有机抽象的数据组织在一起,从而形象生动地显示表示的数据,以及它们之间的关系,帮助人们直接把握的复杂性,全球性,更好地发现和规律的认识,摆脱复杂的抽象数据混乱。虚拟仪器引入的科学可视化,给予无限魅力的人显示仪器,该仪器是大量复杂的数据处理和分析的能力。
5,面向对象的可视化编程
虚拟仪器是一种集成编程环境,其中一个可以快速生成复杂的仪器。虚拟仪器不仅具有可编程性,而且也很容易操作,从而引入面向对象的可视化图形编程技术的虚拟仪器。虚拟仪器集成了许多功能强大的组件,这些部件提供了一个直观的计算机图形,每个组件都具有的的可控属性,操作和功能,人只是这些组件的计算机屏幕上的一个很好的布局,设置相应的属性,以及它与其他的连接关系成员,以生成相应的功能构成的仪器。
五,总结
虚拟仪器是一个研究领域,许多高科技公司和研究机构都看好羽翼未丰的家,国内外市场前景都投入了大量的人力,物力和财力资源,加紧开发和研究。虚拟仪器是一台多媒体电脑的应用程序,是多学科交叉,渗透的产品,集中的许多高精确度,锐利的科学和技术。比仪器是高于仪器,虚拟仪器,大大缩短了开发周期的新仪器,新仪器的开发成本节约,它不仅是仪器的开发工具,但也科学研究的有力工具。虚拟仪器微机化仪器,是基础的综合性仪器,仪器行业的一场革命,其研究和发展具有深远的意义。