matlab中英文翻译文献
matlab 专业英语翻译(原文)
MATLAB 的介绍什么是MA TLAB这个名字为MATLAB代表矩形组。
MATLAB代表最初是提供方便地访问矩形软件的LINPACK 和EISPACK项目。
现在,MA TLAB使用LINPACK 和EISPACK项目所开发的软件,它代表一起开发了先进的设备,使用在艺术的矩阵计算软件。
基于MATLAB已经发展了一个有许多用户很多年。
它是由MathWorks公司,如在图8 - 1.In大学环境所示,它是标准的在数学,工程和science.In行业的初级和高级课程的教学工具,MATLAB是高选择的工具生产力研究,开发和分析。
* The MathWorks公司提供的数据分析,可视化,应用开发,仿真,设计集成产品集,代码generation.MATLAB是所有MathWorks产品的基础MATLAB是一个直观的语言和技术计算环境。
随着用户超过500万个社区整个行业,政府和学术界的强大传播,MATLAB是公认的全球标准的技术运算。
MATLAB是用于各种应用领域,包括信号和图像处理,控制系统设计,地球科学和生命科学,金融和经济,仪器仪表等。
开放的架构可以很容易地使用MATLAB和配套产品,探索和创造,提供数据的早期探索和竞争advantages.Simulink定制工具是模拟和原型开发环境的建模,模拟和分析现实世界,动态系统。
Simulink环境提供了一个框图接口,在核心MATLAB的数字,图形和编程功能之上。
为什么用MA TLAB?依靠遍布全球的专业技术基于MATLAB加快他们的研究,压缩投资的分析和开发时间,降低工程成本,并产生有效的解决办法。
MATLAB环境鼓励创造性,使你能够快速测试和多种方案比较,结果。
你生产出更好的解决方案。
用户发现,MATLAB接口的直观,语言的组合,内置的数学和图形功能使MATLAB 的技术计算的首选平台比使用C,Fortran和其他语言和应用程序。
从MATLAB的数据采集处理和分析范围的工程和科学计算任务,到应用开发。
(完整版)MATLAB中英文对照
MATLAB7.1中文翻译MATLAB MATLAB 主程序模块Simulink 动态仿真模块Aerospace Blockset 航空模块集Bioinformatics Toolbox 生物信息学工具箱CDMA Reference Blockset CDMA 参考模块集Communications Blockset 通信模块集Communications Toolbox 通信工具箱Control System Toolbox 控制系统工具箱Curve Fitting Toolbox 曲线拟合工具箱DSP Blockset 数字信号模块集Data Acquisition Toolbox 数据采集工具箱Database Toolbox 数据库工具箱Datafeed Toolbox 数据反馈工具箱Distributed Computing Toolbox 分布式计算工具箱Dials and Gauges Blockset 刻度标尺模块集Embedded Target for Motorola MPC 555 摩托罗拉MPC555 嵌入对象Embedded Target for the TI C2000 DSP TI C2000 DSP嵌入对象Embedded Target for TI 6000 DSP TI 6000数字信号处理嵌入对象Embedded Target for Infineon C166 Microcontrollers Infineon C166 微控制器嵌入对象Embedded Target for Motorola? HC12 Motorola? HC12嵌入对象Embedded Target for OSEK/VDX? OSEK/VDX?嵌入对象Excel Link Excel 连接Extended Symbolic Math 扩展符号数学库Filter Design Toolbox 滤波器设计工具箱Filter Design HDL Coder 滤波器设计硬件描述语言编码器Financial Derivatives Toolbox 金融预测工具箱Financial Time Series Toolbox 金融时间系列工具箱Financial Toolbox 金融系统工具箱Fixed-Income Toolbox 定点收益工具箱Fixed-Point Blockset 定点模块集Fuzzy Logic Toolbox 模糊逻辑工具箱GARCH Toolbox GARCH 工具箱Genetic Algorithm and Direct Search Toolbox 遗传算法和直接搜寻工具箱Gauges Blockset Gauges模块集Image Processing Toolbox 图像处理工具箱Image Acquisition Toolbox 图像调节工具箱Instrument Control Toolbox 设备控制工具箱LMI Control Toolbox LMI 控制工具箱MATLAB Com Builder MATLAB COM 文件编辑器MATLAB Compiler MATLAB 编译器MATLAB Excel Builder MATLAB 外部编辑器MATLAB Link for code composer studio MATLAB 与代码设计工作室的连接MATLAB Link for ModelSim MATLAB与ModelSim的连接MATLAB Report Generator MATLAB 报告生成器MATLAB Runtime Server MATLAB 运行时间服务器MATLAB Webs Server MATLAB 支持Web 服务器MATLAB? Distributed Computing Engine MATLAB? 分布式计算引擎Mapping Toolbox 地图工具箱Model Predictive Control Toolbox 模型预测控制工具箱Model-Based Calibration Toolbox 基于模型标准工具箱Mu-Analysis and Synthesis ToolboxMU 分析与合成工具箱Neural Network Toolbox 神经网络工具箱Nonlinear Control Design Blockset 非线性控制设计模块集OPC Toolbox OPC工具箱Optimization Toolbox 优化工具箱Partial Differential Equation Toolbox 偏微分方程工具箱Real-Time Windows Target 实时视窗对象Real-Time Workshop 实时工作室Real-Time Workshop Embedded Coder 实时工作室内嵌编码器Requirements Management Interface 需求管理界面Robust Control Toolbox 强(鲁棒)控制工具箱RF Toolbox RF工具箱SB2SL(converts models to Simulink) 模型转换成Simulink工具Signal Processing Toolbox 信号处理工具箱Signal Processing Blockset 信号处理模块集Sim Driveline SIM动力传动系统Sim Mechanics SIM机械学Sim Power Systems SIM电力系统Simulink Performance ToolsSimulink 执行工具箱Simulink Report Generator Simulink 报表生成器Simulink Verification and Validation Simulink 核实与验证Simulink Response Optimization Simulink响应优化Simulink Parameter Estimation Simulink 参数估计Simulink Fixed Point Simulink不动点Simulink Control Design Simulink控制设计Simulink Accelerator Simulink加速器Spline Toolbox 样条工具箱Stateflow 状态流Stateflow Coder 状态流编码器Statistics Toolbox 统计工具箱Symbolic Math Toolbox 符号数学工具箱System Identification Toolbox 系统识别工具箱Virtual Reality Toolbox 虚拟现实工具箱Video and Image Processing Blockset 视频和图像处理模块集Wavelet Toolbox 小波分析工具箱xPC Target XPC对象xPC Target Embedded Option XPC对象内嵌属性。
MATLAB英文材料-基于matlab的仿真(含中文翻译)
1. Introduction
Navigation is the essential ability that a mobile robot. During the development of new navigation algorithms, it is necessary to test them in simulated robots and environments before the testing on real robots and the real world. This is because (i) the prices of robots are expansive; (ii) the untested algorithm may damage the robot during the experiment; (iii) difficulties on the construction and alternation of system models under noise background; (iv) the transient state is difficult to track precisely; and (v) the measurements to the external beacons are hidden during the experiment, but this information is often helpful for debugging and updating the algorithms.
This paper presents a Matlab-based simulator that is fully compatible with Matlab codes,and makes it possible for robotics researchers to debug their codeand do experiments conveniently at the first stage of their research.The algorithms development is based on Matlab subroutines with appointed parameter variables,which are stored in a file to be accessed by the ing this simulator,we can build the environment, select parameters,build subroutinesand display outputs on the screen.Data are recorded during the whole procedure;some basic analyses are also performed.
外文翻译---MATLAB 在图像边缘检测中的应用
英文资料翻译MATLAB application in image edge detection MATLAB of the 1984 countries MathWorks company to market since, after 10 years of development, has become internationally recognized the best technology application software. MATLAB is not only a kind of direct, efficient computer language, and at the same time, a scientific computing platform, it for data analysis and data visualization, algorithm and application development to provide the most core of math and advanced graphics tools. According to provide it with the more than 500 math and engineering function, engineering and technical personnel and scientific workers can integrated environment of developing or programming to complete their calculation.MATLAB software has very strong openness and adapt to sex. Keep the kernel in under the condition of invariable, MATLAB is in view of the different application subject of launch corresponding Toolbox (Toolbox), has now launched image processing Toolbox, signal processing Toolbox, wavelet Toolbox, neural network Toolbox and communication tools box, etc multiple disciplines special kit, which would place of different subjects research work.MATLAB image processing kit is by a series of support image processing function from the composition, the support of the image processing operation: geometric operation area of operation and operation; Linear filter and filter design; Transform (DCT transform); Image analysis and strengthened; Binary image manipulation, etc. Image processing tool kit function, the function can be divided into the following categories: image display; Image file input and output; Geometric operation; Pixels statistics; Image analysis and strengthened; Image filtering; Sex 2 d filter design; Image transformation; Fields and piece of operation; Binary image operation; Color mapping and color space transformation; Image types and type conversion; Kit acquiring parameters and Settings.1.Edge detection thisUse computer image processing has two purposes: produce more suitable for human observation and identification of the images; Hope can by the automatic computer image recognition and understanding.No matter what kind of purpose to, image processing the key step is to contain a variety of scenery of decomposition of image information. Decomposition of the end result is that break down into some has some kind of characteristics of the smallest components, known as the image of the yuan. Relative to the whole image of speaking, this the yuan more easily to be rapid processing.Image characteristics is to point to the image can be used as the sign of the field properties, it can be divided into the statistical features of the image and image visual, two types of levy. The statistical features of the image is to point to some people the characteristics of definition, through the transform to get, such as image histogram, moments, spectrum, etc.; Image visual characteristics is refers to person visual sense can be directly by the natural features, such as the brightness of the area, and texture or outline, etc. The two kinds of characteristics of the image into a series of meaningful goal or regional p rocess called image segmentation.The image is the basic characteristics of edge, the edge is to show its pixel grayscale around a step change order or roof of the collection of those changes pixels. It exists in target and background, goals and objectives, regional and region, the yuan and the yuan between, therefore, it is the image segmentation dependent on the most important characteristic that the texture characteristics of important information sources and shape characteristics of the foundation, and the image of the texture characteristics and the extraction of shape often dependent on image segmentation. Image edge extraction is also the basis of image matching, because it is the sign of position, the change of the original is not sensitive, and can be used for matching the feature points.The edge of the image is reflected by gray not continuity. Classic edge extraction method is investigation of each pixel image in an area of the gray change, use edge first or second order nearby directional derivative change rule,with simple method of edge detection, this method called edge detection method of local operators.The type of edge can be divided into two types: (1) step representation sexual edge, it on both sides of the pixel gray value varies significantly different; (2) the roof edges, it is located in gray value from the change of increased to reduce the turning point. For order jump sexual edge, second order directional derivative in edge is zero cross; For the roof edges, second order directional derivative in edge take extreme value.If a pixel fell in the image a certain object boundary, then its field will become a gray level with the change. The most useful to change two features is the rate of change and the gray direction, they are in the range of the gradient vector and the direction to said. Edge detection operator check every pixel grayscale rate fields and evaluation, and also include to determine the directions of the most use based on directional derivative deconvolution method for masking.Digital image processing technique has been widely applied to the biomedical field, the use of computer image processing and analysis, and complete detection and recognition of cancer cells can help doctors make a diagnosis of tumor cancers. Need to be made in the identification of cancer cells, the quantitative results, the human eye is difficult to accurately complete such work, and the use of computer image processing to complete the analysis and identification of the microscopic images have made great progress. In recent years, domestic and foreign medical images of cancer cells testing to identify the researchers put forward a lot of theory and method for the diagnosis of cancer cells has very important meaning and practical value.Cell edge detection is the cell area of the number of roundness and color, shape and chromaticity calculation and the basis of the analysis their test results directly affect the analysis and diagnosis of the disease. Classical edge detection operators such as Sobel operator, Laplacian operator, each pixel neighborhood of the image gray scale changes to detect the edge. Although these operators is simple, fast, but there are sensitive to noise, get isolated or in short sections of acontinuous edge pixels, overlapping the adjacent cell edge defects, while the optimal threshold segmentation and contour extraction method of combining edge detection, obtained by the iterative algorithm for the optimal threshold for image segmentation, contour extraction algorithm, digging inside the cell pixels, the last remaining part of the image is the edge of the cell, change the processing order of the traditional edge detection algorithm, by MATLAB programming, the experimental results that can effectively suppress the noise impact at the same time be able to objectively and correctly select the edge detection threshold, precision cell edge detection.2.Edge detection of MATLABMATLAB image processing toolkit defines the edge () function is used to test the edge of gray image.(1) BW = edge (I, "method"), returns and I size binary image BW, includingelements of 1 said is on the edge of the point, 0 means the edge points.Method for the following a string of:1) soble: the default value, with derivative Sobel edge detectionapproximate measure, to return to a maximum gradient edge;2) prewitt: with the derivative prewitt approximate edge detection, amaximum gradient to return to edge;3) Roberts: with the derivative Roberts approximate edge detection margins,return to a maximum gradient edge;4) the log: use the Laplace operation gaussian filter to I carry filtering,through the looking for 0 intersecting detection of edge;5) zerocross: use the filter to designated I filter, looking for 0 intersectingdetection of edge.(2) BW = edge (I, "method", thresh) with thresh designated sensitivitythreshold value, rather than the edge of all not thresh are ignored.(3) BW = edge (I, "method" thresh, direction, for soble and prewitt methodspecified direction, direction for string, including horizontal level said direction; Vertical said to hang straight party; Both said the two directions(the default).(4) BW = edge (I, 'log', thresh, log sigma), with sigma specified standarddeviation.(5) [BW, thresh] = edge (...), the return value of a function in fact have multiple(" BW "and" thresh "), but because the brace up with u said as a matrix, and so can be thought a return only parameters, which also shows the introduction of the concept of matrix MATLAB unity and superiority.st wordMATLAB has strong image processing function, provide a simple function calls to realize many classic image processing method. Not only is the image edge detection, in transform domain processing, image enhancement, mathematics morphological processing, and other aspects of the study, MATLAB can greatly improve the efficiency rapidly in the study of new ideas.MATLAB 在图像边缘检测中的应用MATLAB自1984年由国MathWorks公司推向市场以来,历经十几年的发展,现已成为国际公认的最优秀的科技应用软件。
matlab应用外文翻译讲课稿
Introduction to MATLABMATLAB (short for Matrix Laboratory) is a special-purpose computer program optimized to perform engineering and scientific calculations. It started life has a program designed to perform matrix mathematics, but over the years it has grown into a flexible computing system capable of solving essentially any technical problem.The MATLAB program implements the MATLAB programming language and provides an extensive library of predefined functions that make technical programming tasks easier and more efficient. This book introduces the MATLAB language and shows how to use it to solve typical technical problems.MATLAB is a huge program, with an incredibly rich variety of functions. Even the basic version of MATLAB without any toolkits is much richer than other technical programming languages. There are more than 1000 functions in the basic MATLAB product alone,and the toolkits extend this capability with many more functions in various specialties. This book makes no attempt to introduce the user to all of MALTLAB′s own tools to locate the correct function for a specific purpose from the enormous choice available.Advantages of MATLABMATLAB has many advantages compared with conventional computer languages for technical problem solving. Among them are the following: 1.Ease of UseMATLAB is an interpreted language, like many versions of Basic. Like Basic, it is very easy to use. The program can be used as a scratch pad to evaluate expressions typed at the command line, or it can be used to execute large prewritten programs. Programs may be easily written and modified with the built-in integrated development environment, and debugged with the MATLAB debugger. Because thelanguage is so easy to use, it is ideal for educational use, and for the rapid prototyping of new programs.Many program development tools are provided to make the program easy to use. a workspace browser, and extensive demos.2.Platform independenceMATLAB is supported on many different computer systems, providinga large measure of platform independence. At the time of this writing,the language is supported on windows 9x/NT/2000 and many different versions of UNIX. Programs written on any platform will run on all of the other platforms, and data files written on any platform may be read transparently on any other platforms, AS a result,Programs written in MATLAB can migrate to new platforms when the needs of the user change.3.Predefined FunctionsMATLAB comes complete with an extensive library of predefined functions that provide tested and prepackaged solutions to many basic technical tasks. For example, suppose that you are writing a program that must calculate the statistics associated with an input data set.In most languages, you would need to write your own subroutines or functions to implement calculations such as the arithmetic mean, standard deviation, median, and so forth. These and hundreds of other functions are built right into the MATLAB language, making your job much easier.In addition to the large library of functions built into the basic MATLAB language, many special-purpose toolboxes are available to help solve complex problems in specific areas. For example, a user can buy standard toolboxes to solve problems in Signal Processing, Control Systems, Communications, Image Processing, and Neural Networks, among many others. There is also an extensive collection of freeuser-contributed MATLAB programs that are shared through the MATLAB Web site.4.Device-Independent PlottingUnlike most other computer languages, MATLAB has many integral plotting and imaging commands. The plots and images can be displayed on any graphical output device supported by the computer on which MATLAB is running. This capability makes MATLAB an outstanding tool for visualizing technical data.5.Graphical User InterfaceMATLAB includes tools that allow a programmer to interactively construct a graphical user interface (GUI) for his or her program. With this capability, the programmer can design sophisticated data analysis programs that can be operated by relatively inexperienced users. 6.MATLAB CompilerMATLAB′s flexibility and platform independence is achieved by compiling MATLAB programs into a device-independence p-code, and then interpreting the p-code instructions at run time. This approach is similar to that used by Microsoft is Visual Basic language.Unfortunately, the resulting programs can sometimes execute slowly because the MATLAB code is interpreted rather than compiled. We will point out features that tend to slow program execution when we encounter them.A separate MATLAB compiler is available. This compiler can compilea MATLAB program into a true executable that runs faster than theinterpreted code. It is a great way to convert a prototype MATLAB program into an executable suitable for sale and distribution to users. Disadvantages of MATLABMATLAB has two principal disadvantages. The first is that it is an interpreted language, and therefore can execute more slowly than compiled languages. This problem can be mitigated by properly structuring theMATLAB program and by the use of the MATLAB compiler to compile the final MATLAB program before distribution and general use.The second disadvantage is cost: A full copy of MATLAB is 5 to 10 times more expensive than a conventional C or Fortran compiler. This relatively high cost is more than offset by the reduced time required for an engineer or scientist to create a working program, so MATLAB is cost-effective for businesses. However, it is too expensive for most individuals to consider purchasing. Fortunately, there is also an inexpensive Student Edition of MATLAB, which is a great tool for students wanting to learn the language. The Student Edition of MATLAB is essentially identical to the full edition.With the introduction of branches and loops, our programs are going to become more complex, and it will get easier to make mistakes. To help avoid programming errors, we will introduce a formal program design procedure based on the technique known as top-down design. We will also introduce a common algorithm development tool known as pseudo code.Introduction To Top-Down Design TechniquesSuppose that you are an engineer working in industry, and that you need to write a program to solve some problem. How do you begin?When given anew problem, there is a natural tendency to sit down at a keyboard and start programming without “wasting” a lot of time thinking about the problem first. It is often possible to get away with this “on the fly” approach to programming for very small problems, such as many of the examples in this book. In the real world, however, problems are larger, and a programmer attempting this approach will become hopelessly bogged down. For larger problems, it pays to completely think out the problem and the approach you are going to take to it before writing a single line of code.We introduce a formal program design process in this section, and thenapply that process to every major application developed in the remainder of the book. For some of the simple examples that we will be doing, the design process will seem like overkill; however, as the problems that we solve get larger and larger, the process becomes more and more essential to successful programming.When I was an undergraduate, one of my professors was fond of saying, “programming is easy. It is knowing what to program that is hard.” his point was forcefully driven home to me after I left university and began working in industry on larger scale software projects. I found that the most difficult port of my job was to understand the problem I was trying to solve. Once I really understood the problem, it became easy to break the problem apart into smaller, more easily manageable pieces with well-defined functions, and then to tackle those pieces one at a time. Top-down design is the process of starting with a large task and breaking it down into smaller, more easily understandable pieces, which perform a portion of the desired task. Each subtask may in turn be subdivided into smaller subtasks if necessary. Once the program is divided into small pieces, each piece can be coded and tested independently. We do not attempt to combine the subtasks into a complete task until each of the subtasks has been verified to work properly by itself.The concept of top-down design is the basis of our formal program design process. We will now introduce the details of the process, which is illustrated in figure 1 the steps involved are:1.Clearly state the problem that you are trying to solve. Programs are usually written to fill some perceived need, but that need may not be articulated clearly by the person requesting the program. For example, a user may ask for a program to solve a system of simultaneous linear equations. This request is not clear enough to allow a programmer to design a program to meet the need; he or she must first know much moreabout the problem to be solved. Is the system of equations to be solved real or complex? What is the maximum number of equations and unknown that the program must handle? Are there any symmetry in the equations that might be exploited to make the task easier? The program designer will have to talk with the user requesting the program, and the two of them will have come up with a clear statement of exactly what they are trying to accomplish. A clear statement of the problem will prevent misunderstandings, and it will also help the program designer to properly organize his or her thoughts. In the example we were describing, a proper statement of the problem might have been:Figure 1Design and write a program to solve a system of simultaneous linearequations having real coefficients and with up to 20 equations in 20 unknowns.2.Define the inputs required by the program and the outputs to be producedby the program.The inputs to the program and the outputs produced by the program must be specified so that the new program will properly fit into the overall processing scheme. In this example, the coefficients of the equations to be solved are probably in some pre-existing order, and our new program needs to be able to read them in that order. And our new program needs to be able to read them in that order. Similarly, it needs to produce the answers required by the programs that may follow it in the overall processing scheme, and to write out those answers in the format needed by the programs following it.3.Design the algorithm that you intend to implement in the program. An algorithm is a step-by-step procedure for finding the solution to a problem. It is at this stage in the process that top-down design techniques come into play. The designer looks for logical divisions within the problem, and divides it up into subtasks along those lines. This process is called decomposition. If the subtasks are large, the designer can break them up into even smaller sub-tasks. This process continues until the problem has been divided into many small pieces, each of which does a simple, clearly understandable job.After the problem has been decomposed into small pieces, each piece is further refined through a process called stepwise refinement. In stepwise refinement, a designer starts with a general description of what the piece of code should do, and then defines the functions of the piece in greater and greater detail until they are specific enough to be turned into MATLAB statements. Stepwise refinement is usually done with pseudo code, which will be described in the next section.It is often helpful to solve a simple example of the problem by hand during the algorithm development process. If the designer understands the steps that he or she went through in solving the problem by hand, then he or she will be better able to apply decomposition and stepwise refinement to the problem.4.Turn the algorithm into MATLAB statements.If the decomposition and refinement process was carried out properly, this step will be very simple. All the programmer will have to do is to replace pseudo code with the corresponding MATLAB statements on a one-for-one basis.5.Test the resulting MATLAB programThis step is the real killer. The components of the program must first be tested individually, if possible, and then the program as a whole must be tested. When testing a program, we must verify that it works correctly for all legal input data sets. It is very common for a program to be written, tested with some standard data set, and released for use, only to find that it produces the wrong answers (or crashes) with a different input data set. If the algorithm implemented in a program includes different branches, we must test all of the possible branches to confirm that the program operates correctly under every possible circumstance.Large programs typically go through a series of tests before they are released for general use (see Figure 2). The first stage of testing is sometimes called unit testing. During unit testing, the individual subtasks of the program are tested separately to confirm that they work correctly. After the unit testing is completed, the program goes through a series of builds, during which the individual subtasks are combined to produce the final program. The first build of the program typically includes only a few of the subtasks. It is used to check the interactions among those subtasks and the functions performed by the combinations ofthe subtasks. In successive builds, more and more subtasks are added, until the entire program is complete. Testing is performed on each build, and any errors(bugs) detected are corrected before moving on to the next build.Figure 2MATLAB 介绍MATLAB (矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。
matlab图像处理外文翻译外文文献
matlab图像处理外文翻译外文文献附录A 英文原文Scene recognition for mine rescue robotlocalization based on visionCUI Yi-an(崔益安), CAI Zi-xing(蔡自兴), WANG Lu(王璐)Abstract:A new scene recognition system was presented based on fuzzy logic and hidden Markov model(HMM) that can be applied in mine rescue robot localization during emergencies. The system uses monocular camera to acquire omni-directional images of the mine environment where the robot locates. By adopting center-surround difference method, the salient local image regions are extracted from the images as natural landmarks. These landmarks are organized by using HMM to represent the scene where the robot is, and fuzzy logic strategy is used to match the scene and landmark. By this way, the localization problem, which is the scene recognition problem in the system, can be converted into the evaluation problem of HMM. The contributions of these skills make the system have the ability to deal with changes in scale, 2D rotation and viewpoint. The results of experiments also prove that the system has higher ratio of recognition and localization in both static and dynamic mine environments.Key words: robot location; scene recognition; salient image; matching strategy; fuzzy logic; hidden Markov model1 IntroductionSearch and rescue in disaster area in the domain of robot is a burgeoning and challenging subject[1]. Mine rescue robot was developed to enter mines during emergencies to locate possible escape routes for those trapped inside and determine whether it is safe for human to enter or not. Localization is a fundamental problem in this field. Localization methods based on camera can be mainly classified into geometric, topological or hybrid ones[2]. With its feasibility and effectiveness, scene recognition becomes one of the important technologies of topological localization.Currently most scene recognition methods are based on global image features and have two distinct stages: training offline and matching online.。
matlab应用外文翻译
Introduction to MATLABMATLAB (short for Matrix Laboratory) is a special-purpose computer program optimized to perform engineering and scientific calculations. It started life has a program designed to perform matrix mathematics, but over the years it has grown into a flexible computing system capable of solving essentially any technical problem.The MATLAB program implements the MATLAB programming language and provides an extensive library of predefined functions that make technical programming tasks easier and more efficient. This book introduces the MATLAB language and shows how to use it to solve typical technical problems.MATLAB is a huge program, with an incredibly rich variety of functions. Even the basic version of MATLAB without any toolkits is much richer than other technical programming languages. There are more than 1000 functions in the basic MATLAB product alone,and the toolkits extend this capability with many more functions in various specialties. This book makes no attempt to introduce the user to all of MALTLAB′s own tools to locate the correct function for a specific purpose from the enormous choice available.Advantages of MATLABMATLAB has many advantages compared with conventional computer languages for technical problem solving. Among them are the following: 1.Ease of UseMATLAB is an interpreted language, like many versions of Basic. Like Basic, it is very easy to use. The program can be used as a scratch pad to evaluate expressions typed at the command line, or it can be used to execute large prewritten programs. Programs may be easily written and modified with the built-in integrated development environment, and debugged with the MATLAB debugger. Because thelanguage is so easy to use, it is ideal for educational use, and for the rapid prototyping of new programs.Many program development tools are provided to make the program easy to use. a workspace browser, and extensive demos.2.Platform independenceMATLAB is supported on many different computer systems, providinga large measure of platform independence. At the time of this writing,the language is supported on windows 9x/NT/2000 and many different versions of UNIX. Programs written on any platform will run on all of the other platforms, and data files written on any platform may be read transparently on any other platforms, AS a result,Programs written in MATLAB can migrate to new platforms when the needs of the user change.3.Predefined FunctionsMATLAB comes complete with an extensive library of predefined functions that provide tested and prepackaged solutions to many basic technical tasks. For example, suppose that you are writing a program that must calculate the statistics associated with an input data set.In most languages, you would need to write your own subroutines or functions to implement calculations such as the arithmetic mean, standard deviation, median, and so forth. These and hundreds of other functions are built right into the MATLAB language, making your job much easier.In addition to the large library of functions built into the basic MATLAB language, many special-purpose toolboxes are available to help solve complex problems in specific areas. For example, a user can buy standard toolboxes to solve problems in Signal Processing, Control Systems, Communications, Image Processing, and Neural Networks, among many others. There is also an extensive collection of freeuser-contributed MATLAB programs that are shared through the MATLAB Web site.4.Device-Independent PlottingUnlike most other computer languages, MATLAB has many integral plotting and imaging commands. The plots and images can be displayed on any graphical output device supported by the computer on which MATLAB is running. This capability makes MATLAB an outstanding tool for visualizing technical data.5.Graphical User InterfaceMATLAB includes tools that allow a programmer to interactively construct a graphical user interface (GUI) for his or her program. With this capability, the programmer can design sophisticated data analysis programs that can be operated by relatively inexperienced users. 6.MATLAB CompilerMATLAB′s flexibility and platform independence is achieved by compiling MATLAB programs into a device-independence p-code, and then interpreting the p-code instructions at run time. This approach is similar to that used by Microsoft is Visual Basic language.Unfortunately, the resulting programs can sometimes execute slowly because the MATLAB code is interpreted rather than compiled. We will point out features that tend to slow program execution when we encounter them.A separate MATLAB compiler is available. This compiler can compilea MATLAB program into a true executable that runs faster than theinterpreted code. It is a great way to convert a prototype MATLAB program into an executable suitable for sale and distribution to users. Disadvantages of MATLABMATLAB has two principal disadvantages. The first is that it is an interpreted language, and therefore can execute more slowly than compiled languages. This problem can be mitigated by properly structuring theMATLAB program and by the use of the MATLAB compiler to compile the final MATLAB program before distribution and general use.The second disadvantage is cost: A full copy of MATLAB is 5 to 10 times more expensive than a conventional C or Fortran compiler. This relatively high cost is more than offset by the reduced time required for an engineer or scientist to create a working program, so MATLAB is cost-effective for businesses. However, it is too expensive for most individuals to consider purchasing. Fortunately, there is also an inexpensive Student Edition of MATLAB, which is a great tool for students wanting to learn the language. The Student Edition of MATLAB is essentially identical to the full edition.With the introduction of branches and loops, our programs are going to become more complex, and it will get easier to make mistakes. To help avoid programming errors, we will introduce a formal program design procedure based on the technique known as top-down design. We will also introduce a common algorithm development tool known as pseudo code.Introduction To Top-Down Design TechniquesSuppose that you are an engineer working in industry, and that you need to write a program to solve some problem. How do you begin?When given anew problem, there is a natural tendency to sit down at a keyboard and start programming without “wasting” a lot of time thinking about the problem first. It is often possible to get away with this “on the fly” approach to programming for very small problems, such as many of the examples in this book. In the real world, however, problems are larger, and a programmer attempting this approach will become hopelessly bogged down. For larger problems, it pays to completely think out the problem and the approach you are going to take to it before writing a single line of code.We introduce a formal program design process in this section, and thenapply that process to every major application developed in the remainder of the book. For some of the simple examples that we will be doing, the design process will seem like overkill; however, as the problems that we solve get larger and larger, the process becomes more and more essential to successful programming.When I was an undergraduate, one of my professors was fond of saying, “programming is easy. It is knowing what to program that is hard.” his point was forcefully driven home to me after I left university and began working in industry on larger scale software projects. I found that the most difficult port of my job was to understand the problem I was trying to solve. Once I really understood the problem, it became easy to break the problem apart into smaller, more easily manageable pieces with well-defined functions, and then to tackle those pieces one at a time. Top-down design is the process of starting with a large task and breaking it down into smaller, more easily understandable pieces, which perform a portion of the desired task. Each subtask may in turn be subdivided into smaller subtasks if necessary. Once the program is divided into small pieces, each piece can be coded and tested independently. We do not attempt to combine the subtasks into a complete task until each of the subtasks has been verified to work properly by itself.The concept of top-down design is the basis of our formal program design process. We will now introduce the details of the process, which is illustrated in figure 1 the steps involved are:1.Clearly state the problem that you are trying to solve. Programs are usually written to fill some perceived need, but that need may not be articulated clearly by the person requesting the program. For example, a user may ask for a program to solve a system of simultaneous linear equations. This request is not clear enough to allow a programmer to design a program to meet the need; he or she must first know much moreabout the problem to be solved. Is the system of equations to be solved real or complex? What is the maximum number of equations and unknown that the program must handle? Are there any symmetry in the equations that might be exploited to make the task easier? The program designer will have to talk with the user requesting the program, and the two of them will have come up with a clear statement of exactly what they are trying to accomplish. A clear statement of the problem will prevent misunderstandings, and it will also help the program designer to properly organize his or her thoughts. In the example we were describing, a proper statement of the problem might have been:Figure 1Design and write a program to solve a system of simultaneous linearequations having real coefficients and with up to 20 equations in 20 unknowns.2.Define the inputs required by the program and the outputs to be producedby the program.The inputs to the program and the outputs produced by the program must be specified so that the new program will properly fit into the overall processing scheme. In this example, the coefficients of the equations to be solved are probably in some pre-existing order, and our new program needs to be able to read them in that order. And our new program needs to be able to read them in that order. Similarly, it needs to produce the answers required by the programs that may follow it in the overall processing scheme, and to write out those answers in the format needed by the programs following it.3.Design the algorithm that you intend to implement in the program. An algorithm is a step-by-step procedure for finding the solution to a problem. It is at this stage in the process that top-down design techniques come into play. The designer looks for logical divisions within the problem, and divides it up into subtasks along those lines. This process is called decomposition. If the subtasks are large, the designer can break them up into even smaller sub-tasks. This process continues until the problem has been divided into many small pieces, each of which does a simple, clearly understandable job.After the problem has been decomposed into small pieces, each piece is further refined through a process called stepwise refinement. In stepwise refinement, a designer starts with a general description of what the piece of code should do, and then defines the functions of the piece in greater and greater detail until they are specific enough to be turned into MATLAB statements. Stepwise refinement is usually done with pseudo code, which will be described in the next section.It is often helpful to solve a simple example of the problem by hand during the algorithm development process. If the designer understands the steps that he or she went through in solving the problem by hand, then he or she will be better able to apply decomposition and stepwise refinement to the problem.4.Turn the algorithm into MATLAB statements.If the decomposition and refinement process was carried out properly, this step will be very simple. All the programmer will have to do is to replace pseudo code with the corresponding MATLAB statements on a one-for-one basis.5.Test the resulting MATLAB programThis step is the real killer. The components of the program must first be tested individually, if possible, and then the program as a whole must be tested. When testing a program, we must verify that it works correctly for all legal input data sets. It is very common for a program to be written, tested with some standard data set, and released for use, only to find that it produces the wrong answers (or crashes) with a different input data set. If the algorithm implemented in a program includes different branches, we must test all of the possible branches to confirm that the program operates correctly under every possible circumstance.Large programs typically go through a series of tests before they are released for general use (see Figure 2). The first stage of testing is sometimes called unit testing. During unit testing, the individual subtasks of the program are tested separately to confirm that they work correctly. After the unit testing is completed, the program goes through a series of builds, during which the individual subtasks are combined to produce the final program. The first build of the program typically includes only a few of the subtasks. It is used to check the interactions among those subtasks and the functions performed by the combinations ofthe subtasks. In successive builds, more and more subtasks are added, until the entire program is complete. Testing is performed on each build, and any errors(bugs) detected are corrected before moving on to the next build.Figure 2MATLAB 介绍MATLAB (矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。
国外MATLAB文献已翻译
河北工业大学毕业设计(论文)外文资料翻译学院:系(专业):姓名:学号:外文出处:Pattern Recognition附件:1.外文资料翻译译文;2.外文原文。
ﻬ附件1:外文资料翻译译文基于没有交集的主成分模型下的模式识别方法化学计量学研究组,化学研究所,umea大学摘要:通过独立的主成分建模方法对单独种类进行模式识别,这一方法我们已经进行了深刻的研究,主成分的模型说明了单一种类之内拟合所有的连续变量。
所以,假如数据充足的话,主成分模型的方法可以对指定的一组样品中存在的任何模式进行识别,另外,将每一种类中样品通过独立的主成分模型作出拟合,用这种简单的方式,可以提供有关这些变量作为单一变量的相关性。
这些试样中存在着“离群”,而且不同种类间也有“距离”。
我们应用经典的Fisher鸢尾花数据作为例证。
1介绍对于挖掘和使用经验数据的规律性,已经在像化学和生物这样的学科中成为了首要考虑的因素。
在化学上一个经典的例子就是元素周期表。
当元素按渐增的原子质量排列时,化学元素特性上的规律以每8个为一个周期的出现。
相似的,生物学家也常按照植物和动物形态学上的规律才将其归类。
比如,植物的花朵和叶片的形状,动物两臂的长度和宽度以及动物不同的骨骼等等。
数据分析方法(通常叫做模式识别方法),特别的创制用以探知多维数据的规律性。
这种方法已在科学的各分支上得到了广泛的应用。
模式识别中的经典问题可系统的陈述如下:指定一些种类,每一类都被定义为一套样本,训练集和检验集,还有基于每组样本的M测度值,那么是否有可能基于原M值对新的样本作出分类呢?我们提出解决这类或相关问题的许多方法,这些方法也由Kanal和另外一些人回顾过了。
在科学的分支中,比如化学和生物中,数据分析的范围往往比仅获得一组未分类数据广泛,通常上,数据分析的目的之一仍然可说是分类,但有时我们不能确定一个样本是否属于一未知的或未辨明的类别,我们希望不仅去辨别已知种类,还有未知种类。
matlab英文命令翻译(打印版)
MATLAB命令中文翻译大全管理命令和函数help 在线帮助文件doc 装入超文本说明what M、MAT、MEX文件的目录列表 type 列出M文件lookfor 通过help条目搜索关键字which 定位函数和文件Demo 运行演示程序Path 控制MATLAB的搜索路径管理变量和工作空间Who 列出当前变量Whos 列出当前变量(长表)Load 从磁盘文件中恢复变量Save 保存工作空间变量Clear 从内存中清除变量和函数Pack 整理工作空间内存Size 矩阵的尺寸Length 向量的长度disp 显示矩阵或与文件和*作系统有关的命令cd 改变当前工作目录Dir 目录列表Delete 删除文件Getenv 获取环境变量值! 执行DOS*作系统命令Unix 执行UNIX*作系统命令并返回结果 Diary 保存MATLAB任务控制命令窗口Cedit 设置命令行编辑Clc 清命令窗口Home 光标置左上角Format 设置输出格式Echo 底稿文件内使用的回显命令more 在命令窗口中控制分页输出启动和退出MATLABQuit 退出MATLABStartup 引用MATLAB时所执行的M文件 Matlabrc 主启动M文件一般信息Info MATLAB系统信息及Mathworks公司信息Subscribe 成为MATLAB的订购用户 hostid MATLAB主服务程序的识别代号 Whatsnew 在说明书中未包含的新信息2.Ver 版本信息*作符和特殊字符+ 加—减* 矩阵乘法.* 数组乘法^ 矩阵幂.^ 数组幂\ 左除或反斜杠/ 右除或斜杠./ 数组除Kron Kronecker张量积: 冒号( ) 圆括号[ ] 方括号. 小数点.. 父目录… 继续, 逗号; 分号% 注释! 感叹号… 转置或引用= 赋值= = 相等< > 关系*作符& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或逻辑函数Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真 All 向量的所有元为真,则其值为真 Find 找出非零元素的索引号三角函数Sin 正弦Sinh 双曲正弦Asin 反正弦Asinh 反双曲正弦Cos 余弦Cosh 双曲余弦Acos 反余弦Acosh 反双曲余弦Tan 正切Tanh 双曲正切Atan 反正切Atan2 四象限反正切Atanh 反双曲正切Sec 正割Sech 双曲正割Asech 反双曲正割Csc 余割Csch 双曲余割Acsc 反余割Acsch 反双曲余割Cot 余切Coth 双曲余切Acot 反余切Acoth 反双曲余切指数函数Exp 指数Log 自然对数Log10 常用对数Sqrt 平方根{{分页}}复数函数Abs 绝对值Argle 相角Conj 复共轭Image 复数虚部Real 复数实部数值函数Fix 朝零方向取整Floor 朝负无穷大方向取整 Ceil 朝正无穷大方向取整 Round 朝最近的整数取整 Rem 除后取余Sign 符号函数基本矩阵Zeros 零矩阵Ones 全“1”矩阵Eye 单位矩阵Rand 均匀分布的随机数矩阵 Randn 正态分布的随机数矩阵 Logspace 对数间隔的向量Meshgrid 三维图形的X和Y数组 : 规则间隔的向量特殊变量和常数MATLAB命令大全Ans 当前的答案Eps 相对浮点精度Realmax 最大浮点数Realmin 最小浮点数Pi 圆周率I,j 虚数单位Inf 无穷大Nan 非数值Flops 浮点运算次数Nargin 函数输入变量数Nargout 函数输出变量数Computer 计算机类型Isieee 当计算机采用IEEE算术标准时,其值为真Why 简明的答案Version MATLAB版本号时间和日期Clock 挂钟Date 日历Etime 计时函数Tic 秒表开始计时Toc 计时函数Cputime CPU时间(以秒为单位)矩阵*作Diag 建立和提取对角阵Fliplr 矩阵作左右翻转Flipud 矩阵作上下翻转Reshape 改变矩阵大小Rot90 矩阵旋转90度Tril 提取矩阵的下三角部分Triu 提取矩阵的上三角部分: 矩阵的索引号,重新排列矩阵Compan 友矩阵Hadamard Hadamard矩阵Hankel Hankel矩阵Hilb Hilbert矩阵Invhilb 逆Hilbert矩阵Kron Kronecker张量积Magic 魔方矩阵Toeplitz Toeplitz矩阵Vander Vandermonde矩阵矩阵分析Cond 计算矩阵条件数Norm 计算矩阵或向量范数Rcond Linpack 逆条件值估计MATLAB命令大全Rank 计算矩阵秩Det 计算矩阵行列式值Trace 计算矩阵的迹Null 零矩阵Orth 正交化线性方程\和/ 线性方程求解Chol Cholesky分解Lu 高斯消元法求系数阵Inv 矩阵求逆Qr 正交三角矩阵分解(QR分解)Pinv 矩阵伪逆特征值和奇异值Eig 求特征值和特征向量Poly 求特征多项式Hess Hessberg形式Qz 广义特征值Cdf2rdf 变复对角矩阵为实分块对角形式 Schur Schur分解Balance 矩阵均衡处理以提高特征值精度 Svde 奇异值分解矩阵函数Expm 矩阵指数Expm1 实现expm的M文件Expm2 通过泰勒级数求矩阵指数Expm3 通过特征值和特征向量求矩阵指数 Logm 矩阵对数Sqrtm 矩阵开平方根Funm 一般矩阵的计算泛函——非线性数值方法Ode23 低阶法求解常微分方程Ode23p 低阶法求解常微分方程并绘出结果图形Ode45 高阶法求解常微分方程Quad 低阶法计算数值积分Quad8 高阶法计算数值积分Fmin 单变量函数的极小变化Fmins 多变量函数的极小化Fzero 找出单变量函数的零点Fplot 函数绘图多项式函数Roots 求多项式根Poly 构造具有指定根的多项式Polyvalm 带矩阵变量的多项式计算Residue 部分分式展开(留数计算)MATLAB命令大全Polyfit 数据的多项式拟合Polyder 微分多项式Conv 多项式乘法Deconv 多项式除法建立和控制图形窗口Figure 建立图形Gcf 获取当前图形的句柄Clf 清除当前图形Close 关闭图形建立和控制坐标系Subplot 在标定位置上建立坐标系Axes 在任意位置上建立坐标系Gca 获取当前坐标系的句柄Cla 清除当前坐标系Axis 控制坐标系的刻度和形式 Caxis 控制伪彩色坐标刻度Hold 保持当前图形句柄图形对象Figure 建立图形窗口Axes 建立坐标系Line 建立曲线Text 建立文本串Patch 建立图形填充块Surface 建立曲面Image 建立图像Uicontrol 建立用户界面控制Uimen 建立用户界面菜单{{分页}} 句柄图形*作Set 设置对象Get 获取对象特征Reset 重置对象特征Delete 删除对象Newplot 预测nextplot性质的M文件 Gco 获取当前对象的句柄Drawnow 填充未完成绘图事件 Findobj 寻找指定特征值的对象打印和存储Print 打印图形或保存图形Printopt 配置本地打印机缺省值 Orient 设置纸张取向Capture 屏幕抓取当前图形基本X—Y图形Plot 线性图形Loglog 对数坐标图形MATLAB命令大全Semilogx 半对数坐标图形(X轴为对数坐标)Semilogy 半对数坐标图形(Y轴为对数坐标)Fill 绘制二维多边形填充图特殊X—Y图形Polar 极坐标图Bar 条形图Stem 离散序列图或杆图Stairs 阶梯图Errorbar 误差条图Hist 直方图Rose 角度直方图Compass 区域图Feather 箭头图Fplot 绘图函数Comet 星点图图形注释Title 图形标题Xlabel X轴标记Ylabel Y轴标记Text 文本注释Gtext 用鼠标放置文本Grid 网格线MATLAB编程语言Function 增加新的函数Eval 执行由MATLAB表达式构成的字串 Feval 执行由字串指定的函数Global 定义全局变量程序控制流If 条件执行语句Else 与if命令配合使用Elseif 与if命令配合使用End For,while和if语句的结束For 重复执行指定次数(循环)While 重复执行不定次数(循环)Break 终止循环的执行Return 返回引用的函数Error 显示信息并终止函数的执行交互输入Input 提示用户输入Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单Pause 等待用户响应Uimenu 建立用户界面菜单Uicontrol 建立用户界面控制MATLAB命令大全一般字符串函数Strings MATLAB中有关字符串函数的说明Abs 变字符串为数值Setstr 变数值为字符串Isstr 当变量为字符串时其值为真MATLAB命令表A aabs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align 启动图形对象几何位置排列工具all 所有元素非零为真angle 相角ans 表达式计算结果的缺省变量名any 所有元素非全零为真area 面域图argnames 函数M文件宗量名asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦assignin 向变量赋值atan 反正切atan2 四象限反正切atanh 反双曲正切autumn 红黄调秋色图阵axes 创建轴对象的低层指令axis 控制轴刻度和风格的高层指令B bbar 二维直方图bar3 三维直方图bar3h 三维水平直方图barh 二维水平直方图base2dec X进制转换为十进制bin2dec 二进制转换为十进制blanks 创建空格串bone 蓝色调黑白色图阵box 框状坐标轴break while 或for 环中断指令brighten 亮度控制C ccapture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标cart2sph 直角坐标变为球坐标cat 串接成高维数组caxis 色标尺刻度cd 指定当前目录cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵 ceil 向正无穷取整cell 创建元胞数组cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容cellplot 元胞数组内部结构图示char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数chi2inv 分布逆累计概率函数chi2pdf 分布概率密度函数chi2rnd 分布随机数发生器chol Cholesky分解clabel 等位线标识cla 清除当前轴class 获知对象类别或创建对象clc 清除指令窗clear 清除内存变量和函数clf 清除图对象clock 时钟colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值colormap 色图colspace 列空间的基close 关闭指定窗口colperm 列排序置换向量comet 彗星状轨迹图comet3 三维彗星轨迹图compass 射线图compose 求复合函数cond (逆)条件数condeig 计算特征值、特征向量同时给出条件数condest 范 -1条件数估计conj 复数共轭contour 等位线contourf 填色等位线contour3 三维等位线contourslice 四维切片等位线图conv 多项式乘、卷积cool 青紫调冷色图copper 古铜调色图cos 余弦cosh 双曲余弦cot 余切coth 双曲余切cplxpair 复数共轭成对排列csc 余割csch 双曲余割cumsum 元素累计和cumtrapz 累计梯形积分cylinder 创建圆柱D ddblquad 二重数值积分deal 分配宗量deblank 删去串尾部的空格符dec2base 十进制转换为X进制dec2bin 十进制转换为二进制dec2hex 十进制转换为十六进制deconv 多项式除、解卷delaunay Delaunay 三角剖分del2 离散Laplacian差分demo Matlab演示det 行列式diag 矩阵对角元素提取、创建对角阵 diary Matlab指令窗文本内容记录diff 数值差分、符号微分digits 符号计算中设置符号数值的精度 dir 目录列表disp 显示数组display 显示对象内容的重载函数dlinmod 离散系统的线性化模型dmperm 矩阵Dulmage-Mendelsohn 分解 dos 执行DOS 指令并返回结果double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕 dsolve 符号计算解微分方程E eecho M文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end 控制流FOR等结构体的结尾元素下标 eps 浮点相对精度error 显示出错信息并中断执行errortrap 错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf 画填色等位线的简捷指令 ezgraph3 画表面图的通用简捷指令 ezmesh 画网线图的简捷指令ezmeshc 画带等位线的网线图的简捷指令 ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F ffactor 符号计算的因式分解feather 羽毛图feedback 反馈连接feval 执行由串指定的函数fft 离散Fourier变换fft2 二维离散Fourier变换fftn 高维离散Fourier变换fftshift 直流分量对中的谱fieldnames 构架域名figure 创建图形窗fill3 三维多边形填色图find 寻找非零元素下标findobj 寻找具有指定属性的对象图柄 findstr 寻找短串的起始字符下标findsym 机器确定内存中的符号变量 finverse 符号计算中求反函数fix 向零取整flag 红白蓝黑交错色图阵fliplr 矩阵的左右翻转flipud 矩阵的上下翻转flipdim 矩阵沿指定维翻转floor 向负无穷取整flops 浮点运算次数flow Matlab提供的演示数据fmin 求单变量非线性函数极小值点(旧版)fminbnd 求单变量非线性函数极小值点fmins 单纯形法求多变量函数极小值点(旧版)fminunc 拟牛顿法求多变量函数极小值点 fminsearch 单纯形法求多变量函数极小值点 fnder 对样条函数求导fnint 利用样条函数求积分fnval 计算样条函数区间内任意一点的值 fnplt 绘制样条函数图形fopen 打开外部文件for 构成for环用format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread 从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面 fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄 gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield 获知构架数组的域 getframe 获取影片的帧画面 ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合 gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean 调和平均值help 在线帮助helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南 hex2dec 十六进制转换为十进制 hex2num 十六进制转换为浮点数hidden 透视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直方图 histc 端点定位频数直方图histfit 带正态拟合的频数直方图 hold 当前图上重画的切换开关 horner 分解成嵌套形式hot 黑红黄白色图hsv 饱和色图I iif-else-elseif 条件分支结构 ifft 离散Fourier 反变换ifft2 二维离散Fourier反变换 ifftn 高维离散Fourier反变换ifftshift 直流分量对中的谱的反操作 ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显示图象imagesc 显示亮度图象imfinfo 获取图形文件信息 imread 从文件读取图象imwrite 把imwrite 把图象写成文件ind2sub 单下标转变为多下标 inf 无穷大info MathWorks公司网点地址 inline 构造内联函数对象 inmem 列出内存中的函数名 input 提示用户输入inputname 输入宗量名int 符号积分int2str 把整数数组转换为串数组 interp1 一维插值interp2 二维插值interp3 三维插值interpn N维插值interpft 利用FFT插值intro Matlab自带的入门引导 inv 求矩阵逆invhilb Hilbert矩阵的准确逆 ipermute 广义反转置isa 检测是否给定类的对象 ischar 若是字符串则为真 isequal 若两数组相同则为真 isempty 若是空阵则为真isfinite 若全部元素都有限则为真 isfield 若是构架域则为真 isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执行IEEE规则则为真 isinf 若是无穷数据则为真isletter 若是英文字母则为真islogical 若是逻辑数组则为真 ismember 检查是否属于指定集 isnan 若是非数则为真isnumeric 若是数值数组则为真 isobject 若是对象则为真isprime 若是质数则为真isreal 若是实数则为真isspace 若是空格则为真issparse 若是稀疏矩阵则为真 isstruct 若是构架则为真isstudent 若是Matlab学生版则为真 iztrans 符号计算Z反变换J j , K kjacobian 符号计算中求Jacobian 矩阵 jet 蓝头红尾饱和色jordan 符号计算中获得 Jordan标准型 keyboard 键盘获得控制权kron Kronecker乘法规则产生的数组L llaplace Laplace变换lasterr 显示最新出错信息lastwarn 显示最新警告信息leastsq 解非线性最小二乘问题(旧版) legend 图形图例lighting 照明模式line 创建线对象lines 采用plot 画线色linmod 获连续系统的线性化模型linmod2 获连续系统的线性化精良模型 linspace 线性等分向量ln 矩阵自然对数load 从MAT文件读取变量log 自然对数log10 常用对数log2 底为2的对数loglog 双对数刻度图形logm 矩阵对数logspace 对数分度向量lookfor 按关键字搜索M文件lower 转换为小写字母lsqnonlin 解非线性最小二乘问题lu LU分解M mmad 平均绝对值偏差magic 魔方阵maple &nb, sp; 运作 Maple格式指令mat2str 把数值数组转换成输入形态串数组material 材料反射模式max 找向量中最大元素mbuild 产生EXE文件编译环境的预设置指令 mcc 创建MEX或EXE文件的编译指令 mean 求向量元素的平均值median 求中位数menuedit 启动设计用户菜单的交互式编辑工具mesh 网线图meshz 垂帘网线图meshgrid 产生"格点"矩阵methods 获知对指定类定义的所有方法函数 mex 产生MEX文件编译环境的预设置指令mfunlis 能被mfun计算的MAPLE经典函数列表mhelp 引出 Maple的在线帮助min 找向量中最小元素mkdir 创建目录mkpp 逐段多项式数据的明晰化mod 模运算more 指令窗中内容的分页显示movie 放映影片动画moviein 影片帧画面的内存预置mtaylor 符号计算多变量Taylor级数展开N nndims 求数组维数NaN 非数(预定义)变量nargchk 输入宗量数验证nargin 函数输入宗量数nargout 函数输出宗量数ndgrid 产生高维格点矩阵newplot 准备新的缺省图、轴nextpow2 取最接近的较大2次幂nnz 矩阵的非零元素总数nonzeros 矩阵的非零元素norm 矩阵或向量范数normcdf 正态分布累计概率密度函数normest 估计矩阵2范数norminv 正态分布逆累计概率密度函数 normpdf 正态分布概率密度函数normrnd 正态随机数发生器notebook 启动Matlab和Word的集成环境 null 零空间num2str 把非整数数组转换为串numden 获取最小公分母和相应的分子表达式nzmax 指定存放非零元素所需内存O oode1 非Stiff 微分方程变步长解算器ode15s Stiff 微分方程变步长解算器ode23t 适度Stiff 微分方程解算器ode23tb Stiff 微分方程解算器ode45 非Stiff 微分方程变步长解算器 odefile ODE 文件模板odeget 获知ODE 选项设置参数odephas2 ODE 输出函数的二维相平面图 odephas3 ODE 输出函数的三维相空间图 odeplot ODE 输出函数的时间轨迹图odeprint 在Matlab指令窗显示结果odeset 创建或改写 ODE选项构架参数值 ones 全1数组optimset 创建或改写优化泛函指令的选项参数值orient 设定图形的排放方式orth 值空间正交化P ppack 收集Matlab内存碎块扩大内存pagedlg 调出图形排版对话框patch 创建块对象path 设置Matlab搜索路径的指令pathtool 搜索路径管理器pause 暂停pcode 创建预解译P码文件pcolor 伪彩图peaks Matlab提供的典型三维曲面permute 广义转置pi (预定义变量)圆周率pie 二维饼图pie3 三维饼图pink 粉红色图矩阵pinv 伪逆plot 平面线图plot3 三维线图plotmatrix 矩阵的散点图plotyy 双纵坐标图poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发生器pol2cart 极或柱坐标变为直角坐标polar 极坐标图poly 矩阵的特征多项式、根集对应的多项式poly2str 以习惯方式显示多项式poly2sym 双精度多项式系数转变为向量符号多项式 polyder 多项式导数polyfit 数据的多项式拟合polyval 计算多项式的值polyvalm 计算矩阵多项式pow2 2的幂ppval 计算分段多项式pretty 以习惯方式显示符号表达式print 打印图形或SIMULINK模型printsys 以习惯方式显示有理分式prism 光谱色图矩阵procread 向MAPLE输送计算程序profile 函数文件性能评估器propedit 图形对象属性编辑器pwd 显示当前工作目录Q qquad 低阶法计算数值积分quad8 高阶法计算数值积分(QUADL)quit 推出Matlab 环境quiver 二维方向箭头图quiver3 三维方向箭头图R rrand 产生均匀分布随机数randn 产生正态分布随机数randperm 随机置换向量range 样本极差rank 矩阵的秩rats 有理输出rcond 矩阵倒条件数估计real 复数的实部reallog 在实数域内计算自然对数 realpow 在实数域内计算乘方realsqrt 在实数域内计算平方根realmax 最大正浮点数realmin 最小正浮点数rectangle 画"长方框"rem 求余数repmat 铺放模块数组reshape 改变数组维数、大小residue 部分分式展开return 返回ribbon 把二维曲线画成三维彩带图 rmfield 删去构架的域roots 求多项式的根rose 数扇形图rot90 矩阵旋转90度rotate 指定的原点和方向旋转rotate3d 启动三维图形视角的交互设置功能round 向最近整数圆整rref 简化矩阵为梯形形式rsf2csf 实数块对角阵转为复数特征值对角阵rsums Riemann和S ssave 把内存变量保存为文件scatter 散点图scatter3 三维散点图sec 正割sech 双曲正割semilogx X轴对数刻度坐标图semilogy Y轴对数刻度坐标图series 串联连接set 设置图形对象属性setfield 设置构架数组的域setstr 将ASCII码转换为字符的旧版指令 sign 根据符号取值函数signum 符号计算中的符号取值函数 sim 运行SIMULINK模型simget 获取SIMULINK模型设置的仿真参数simple 寻找最短形式的符号解simplify 符号计算中进行简化操作simset 对SIMULINK模型的仿真参数进行设置simulink 启动SIMULINK模块库浏览器 sin 正弦sinh 双曲正弦size 矩阵的大小slice 立体切片图solve 求代数方程的符号解spalloc 为非零元素配置内存sparse 创建稀疏矩阵spconvert 把外部数据转换为稀疏矩阵 spdiags 稀疏对角阵spfun 求非零元素的函数值sph2cart 球坐标变为直角坐标sphere 产生球面spinmap 色图彩色的周期变化spline 样条插值spones 用1置换非零元素sprandsym 稀疏随机对称阵sprank 结构秩spring 紫黄调春色图sprintf 把格式数据写成串spy 画稀疏结构图sqrt 平方根sqrtm 方根矩阵squeeze 删去大小为1的"孤维"sscanf 按指定格式读串stairs 阶梯图std 标准差stem 二维杆图step 阶跃响应指令str2double 串转换为双精度值str2mat 创建多行串数组str2num 串转换为数strcat 接成长串strcmp 串比较strjust 串对齐strmatch 搜索指定串strncmp 串中前若干字符比较strrep 串替换strtok 寻找第一间隔符前的内容struct 创建构架数组struct2cell 把构架转换为元胞数组strvcat 创建多行串数组sub2ind 多下标转换为单下标subexpr 通过子表达式重写符号对象subplot 创建子图subs 符号计算中的符号变量置换subspace 两子空间夹角sum 元素和summer 绿黄调夏色图superiorto 设定优先级surf 三维着色表面图surface 创建面对象surfc 带等位线的表面图surfl 带光照的三维表面图surfnorm 空间表面的法线svd 奇异值分解svds 求指定的若干奇异值switch-case-otherwise 多分支结构sym2poly 符号多项式转变为双精度多项式系数向量symmmd 对称最小度排序symrcm 反向Cuthill-McKee排序syms 创建多个符号对象T ttan 正切tanh 双曲正切taylortool 进行Taylor逼近分析的交互界面text 文字注释tf 创建传递函数对象tic 启动计时器title 图名toc 关闭计时器trapz 梯形法数值积分treelayout 展开树、林treeplot 画树图tril 下三角阵trim 求系统平衡点trimesh 不规则格点网线图trisurf 不规则格点表面图 triu 上三角阵try-catch 控制流中的Try-catch结构 type 显示M文件 U uuicontextmenu 创建现场菜单uicontrol 创建用户控件uimenu 创建用户菜单unmkpp 逐段多项式数据的反明晰化 unwrap 自然态相角upper 转换为大写字母V vvar 方差varargin 变长度输入宗量varargout 变长度输出宗量vectorize 使串表达式或内联函数适于数组运算ver 版本信息的获取view 三维图形的视角控制voronoi Voronoi多边形vpa 任意精度(符号类)数值W wwarning 显示警告信息what 列出当前目录上的文件whatsnew 显示Matlab中 Readme文件的内容which 确定函数、文件的位置while 控制流中的While环结构white 全白色图矩阵whitebg 指定轴的背景色who 列出内存中的变量名whos 列出内存中变量的详细信息winter 蓝绿调冬色图workspace 启动内存浏览器xlabel X轴名xor 或非逻辑yesinput 智能输入指令ylabel Y轴名zeros 全零数组zlabel Z轴名zoom 图形的变焦放大和缩小ztrans 符号计算Z变换SUB 矩阵abbr 缩写active 当前add 增加adius 心align 定位ALP 热膨胀系数amplitude 振幅angular 角度animate 动画annotation 注释文字apply 应用arccosine 反余弦archive 合并arcsine 反正弦area 面积areas 面array 矩阵arrow 箭头assembly 组件back up 恢复behavior 特性block 块Booleans 布尔box框by 通过calc 运算case 情况cent 中心centr 中心circumscr外接圆cntrls 控制comp 构件complexvariable 复数变量component 构件concrete 混凝土cone 圆锥consistent 固定contact 接触contours 等值线contraction 收缩因子CONVERGENCE INDICATOR 收敛精度CONVERGENCEVALUE 收敛值coord 坐标corner 对角cornr 对角count 总数couple 耦合coupled 耦合coupling 耦合create 创建creep 蠕变criteria 准则cross product 向量积cross-sectional 截面CS 坐标系ctr 中点ctrls 控制cupl 耦合curvature 圆弧custom 定制cylinder 圆柱damping 阻尼系数DB DB dependent 相关derivative 导数design opt 优化设计device 设备differentiate 微分dimensions 尺寸discipline 练习displacement 变形display 显示does not 没DOF 自由度Dot product 点积edge 边缘electr 电磁electromag 电磁electromagnetic 电磁elem 单元element 单元end 端energy 能量EPPL COMP 塑性应变分量EPTO COMP 总应变eq 方程eqn 方程equation 方程式erase 删除everything 所有EX 弹性模量EX exclude 排除expansion 膨胀因子exponentiate 幂指数extra 附加extreme 极值EY 弹性模量EYEZ 弹性模量EZface 面fact 因子factor 系数factr 因子failure 破坏fatigue 疲劳fill 填充fillet 倒角fluid 流体force 力function 函数gap 间隙general 通用generator 生成器geom 单元global 全局gradient 梯度graphics 图形GUI 图形用户界面GXY 剪切模量GXYGXZ 剪切模量GXZGYZ 剪切模量GYZhard 硬hardening 强化hex 六面体hidden 隐藏higher-order 高阶Hill 希尔h-method 网格细分法hollow 空心hp-method 混合并行法I-J I-J imaginary 虚部immediate 即时independent 非相关individual 单个inscribed 内切圆int 强度integral 积分integrat 积分integrate 积分interactive 交互式intermed 中间interpolate 插入invert 转成is done 完成isotropic 各向同性iteration 叠代jobname 文件名KABS KABS keypoint 关键点kinematic 随动kps 关键点layout 布局legend 图例load 加载lower-order 低阶LS-DYNA 显示动力分析magnification 放大倍数main 主manager 管理器manualsize 手动尺寸map 图mapped 映射master 主mat 材料max 最大maximum 最大member 构件memory 内存menuctrls 菜单控制mesh 网格meshing 网格划分meshtool 网格工具metafile 图元文件moment 力矩multi 多multilinear 多线性multiplied 乘natural log 自然对数nds 节点no 无nodal 节点NONE 无norm 法向Normal 法向normals 没num 编号NUMB NUMBnumber 编号NUXY 泊松比offset 偏移ok 确定only 仅OPT 优化opts 选项order 顺序origin 原点Orthotropic 正交各向异性p 高次单元法pan 移动parall 平行PDS 概率设计系统phase 相位pick 选取piping 管plasticity 塑性plot 绘图plotctrls 绘图控制poisson 泊松POST1 通用后处理器POST26 时间历程后处理器postpro 后处理器postproc 后处理器potential 势preferences 首选项PREP7 前处理器preprocessor 前处理器pretension 先张prism 棱柱Pro Pro profiles 档案资料props 属性PRXY 泊松比PRXY PRXZ 泊松比PRXZ PRYZ 泊松比PRYZPT 点pts Pts 点query 查询quit 退出R 圆rad 半径radiation 辐射矩阵radius 半径range of variable 变量范围rate 率real 实redirect 重定向refine 细化reflection 镜像release 版本remove 删除rename 重命名replot 重新绘图reset 取消response 响应RESUM_DB 恢复_DB resume 恢复rigid 刚性rotational 旋转RUNSTAR 估计分析模块SAT SATSAVE_DB 保存_DB scaling 比例sect 截面section 截面segmented 分段septagon 七边形septagonal 七边形的shell 壳show 显示sine 正弦sint 应力强度size 尺寸skinning 2线smartsize 智能尺寸solid 实体SOLUTION 求解器sort 排序source 源specified 指定specs spectrm 响应谱spline 样条square 平方state 状态stats 状态status 信息step 步store 存贮stress 应力struct 结构structural 结构submodeling 子模型superelement 超单元surf 表面switch 转换sys 系table 表tan 相切tangent 相切temp 温度tet 四面体texturing 材质thermal 热thickness func 函数定义变化的厚度timehist 时间历程title 标题topological 拓扑torus 环行圆柱ttribs 属性uniform 均布unpick 排除user 用户utility 应用value 值vector 矢量view 视图visco 粘volume 体wall 壁warp 翘曲win 窗口wish 希望with 通过workplane 工作平面WP 工作平面write 写zero 零zoom 缩放。
《MATLAB数值计算》(美)Cleve B.Moler 第三章插值第1节插值多项式 毕业设计(论文)英文文献翻译
Chapter 3 InterpolationInterpolation is the process of defining a function that takes on specified values at specified points. This chapter concentrates on two closely related interpolants, the piecewise cubic spline and the shape-preserving piecewise cu bic named “pchip”.3.1 The Interpolating PolynomialWe all know that two points determine a straight line. More precisely, any two points in the plane, ),(11y x and ),(11y x , with )(21x x ≠ , determine a unique first degree polynomial inx whose graph passes through the two points. There are many different formulas for thepolynomial, but they all lead to the same straight line graph.This generalizes to more than two points. Given n points in the plane, ),(k k y x ,n k ,,2,1 =, with distinct k x ’s, there is a unique polynomial in x of degree less than n whosegraph passes through the points. It is easiest to remember that n , the number of data points, is also the number of coefficients, although some of the leading coefficients might be zero, so the degree might actually be less than 1-n . Again, there are many different formulas for the polynomial, but they all define the same function.This polynomial is called the interpolating polynomial because it exactly re- produces the given data.n k y x P k k ,,2,1,)( ==,Later, we examine other polynomials, of lower degree, that only approximate the data. They are not interpolating polynomials.The most compact representation of the interpolating polynomial is the La- grange form.∑∏⎪⎪⎭⎫⎝⎛--=≠k k k j j k j y x x x x x P )( There are n terms in the sum and 1-n terms in each product, so this expression defines a polynomial of degree at most 1-n . If )(x P is evaluated at k x x = , all the products except the k th are zero. Furthermore, the k th product is equal to one, so the sum is equal to k y and the interpolation conditions are satisfied.For example, consider the following data set:x=0:3;y=[-5 -6 -1 16];The commanddisp([x;y])displays0 1 2 3 -5 -6 -1 16The Lagrangian form of the polynomial interpolating this data is)16()6()2)(1()1()2()3)(1()6()2()3)(2()5()6()3)(2)(1()(--+----+---+-----=x x x x x x x x x x x x x PWe can see that each term is of degree three, so the entire sum has degree at most three. Because the leading term does not vanish, the degree is actually three. Moreover, if we plug in 2,1,0=x or 3, three of the terms vanish and the fourth produces the corresponding value from the data set.Polynomials are usually not represented in their Lagrangian form. More fre- quently, they are written as something like523--x xThe simple powers of x are called monomials and this form of a polynomial is said to be using the power form.The coefficients of an interpolating polynomial using its power form,n n n n c x c x c x c x P ++++=---12211)(can, in principle, be computed by solving a system of simultaneous linear equations⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡------n n n n n n n n n n n y y y c c c x x x x x x x x x 21212122212121111111The matrix V of this linear system is known as a Vandermonde matrix. Its elements arejn kj k x v -=, The columns of a V andermonde matrix are sometimes written in the opposite order, but polynomialcoefficient vectors in Matlab always have the highest power first.The Matlab function vander generates Vandermonde matrices. For our ex- ample data set,V = vander(x) generatesV =0 0 0 1 1 1 1 1 8 4 2 1 27 9 3 1 Then c = V\y’computes the coefficientsc =1.0000 0.0000 -2.0000 -5.0000In fact, the example data was generated from the polynomial 523--x x .One of the exercises asks you to show that Vandermonde matrices are nonsin- gular if the points k x are distinct. But another one of the exercises asks you to show that a Vandermonde matrix can be very badly conditioned. Consequently, using the power form and the V andermonde matrix is a satisfactory technique for problems involving a few well-spaced and well-scaled data points. But as a general-purpose approach, it is dangerous.In this chapter, we describe several Matlab functions that implement various interpolation algorithms. All of them have the calling sequencev = interp(x,y,u)The first two input arguments, x and y , are vectors of the same length that define the interpolating points. The third input argument, u , is a vector of points where the function is to be evaluated. The output, v, is the same length as u and has elements ))(,,()(k u y x terp in k v =Our first such interpolation function, polyinterp, is based on the Lagrange form. The code uses Matlab array operations to evaluate the polynomial at all the components of u simultaneously.function v = polyinterp(x,y,u) n = length(x); v = zeros(size(u)); for k = 1:nw = ones(size(u)); for j = [1:k-1 k+1:n]w = (u-x(j))./(x(k)-x(j)).*w; endendv = v + w*y(k);To illustrate polyinterp, create a vector of densely spaced evaluation points.u = -.25:.01:3.25;Thenv = polyinterp(x,y,u);plot(x,y,’o’,u,v,’-’)creates figure 3.1.Figure 3.1. polyinterpThe polyinterp function also works correctly with symbolic variables. For example, createsymx = sym(’x’)Then evaluate and display the symbolic form of the interpolating polynomial withP = polyinterp(x,y,symx)pretty(P)produces-5 (-1/3 x + 1)(-1/2 x + 1)(-x + 1) - 6 (-1/2 x + 3/2)(-x + 2)x-1/2 (-x + 3)(x - 1)x + 16/3 (x - 2)(1/2 x - 1/2)xThis expression is a rearrangement of the Lagrange form of the interpolating poly- nomial. Simplifyingthe Lagrange form withP = simplify(P)changes P to the power formP =x^3-2*x-5Here is another example, with a data set that is used by the other methods in this chapter.x = 1:6;y = [16 18 21 17 15 12];disp([x; y])u = .75:.05:6.25;v = polyinterp(x,y,u);plot(x,y,’o’,u,v,’-’);produces1 2 3 4 5 616 18 21 17 15 12creates figure 3.2.Figure 3.2. Full degree polynomial interpolationAlready in this example, with only six nicely spaced points, we can begin to see the primary difficulty with full-degree polynomial interpolation. In between the data points, especially in the first and last subintervals, the function shows excessive variation. It overshoots the changes in the data values. As a result, full- degree polynomial interpolation is hardly ever used for data and curve fitting. Its primary application is in the derivation of other numerical methods.第三章 插值多项式插值就是定义一个在特定点取给定值得函数的过程。
MATLAB的中英文翻译
MATLAB - The Language Of Technical ComputingMATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran. You can use MATLAB in a wide range of applications, including signal and image processing, communications, control design, test and measurement, financial modeling and analysis, and computational biology. Add-on toolboxes (collections of special-purpose MATLAB functions, available separately) extend the MATLAB environment to solve particular classes of problems in these application areas.MATLAB provides a number of features for documenting and sharing your work. You can integrate your MATLAB code with other languages and applications, and distribute your MATLAB algorithms and applications.MATLAB has key featuers as follows:(1)High-level language for technical computing (2)Development environment for managing code, files, and data (3)Interactive tools for iterative exploration, design, and problem solving 4)Mathematical functions for linear algebra, statistics, Fourier analysis, filtering, optimization, and numerical integration (5)2-D and 3-D graphics functions for visualizing data (6)Tools for building custom graphical user interfaces (7) Functions for integrating MATLAB based algorithms with external applications and languages, such as C, C++, Fortran, Java, COM, and Microsoft ExcelThe MATLAB language supports the vector and matrix operations that are fundamental to engineering and scientific problems. It enables fast development and execution. With the MATLAB language, you can program and develop algorithms faster than with traditional languages because you do not need to perform low-level administrative tasks, such as declaring variables, specifying data types, and allocating memory. In many cases, MATLAB eliminates the need for ‘for’ loops. As a result, one line of MATLAB code can often replace several lines of C or C++ code. At the same time, MATLAB provides all the features of a traditional programming language, including arithmetic operators, flow control, data structures, data types, object-oriented programming (OOP), and debugging features. MATLAB lets you execute commands or groups of commands one at a time, without compiling and linking, enabling you to quickly iterate to the optimal solution. For fast execution of heavy matrix and vector computations, MATLAB uses processor-optimized libraries. For general-purpose scalar computations, MATLAB generates machine-code instructions using its JIT (Just-In-Time) compilation technology. This technology, which is available on most platforms, provides execution speeds that rival those of traditional programming languages. MATLAB includes development tools that help you implement your algorithm efficiently. These include the following: MATLAB Editor - Provides standard editing and debugging features, such as setting breakpoints and single stepping. M-Lint Code Checker - Analyzes your code and recommends changes to improve its performance and maintainability. MATLAB Profiler - Records the time spentexecuting each line of code. Directory Reports- Scan all the files in a directory and report on code efficiency, file differences, file dependencies, and code coverage。
Circuit analysis with MATLAB文献翻译
文献翻译英文原文:Circuit analysis with MATLABThe electrical appliances is becoming more and more important in today’s world where computer technology, internet technology and communication technology are developing rapidly and people’s life has been greatly imp roved.Circuit analysis is a necessary course and basic knowledge for electronic special student. It is the foundation of circuit maintenance and circuit application. As one of the most important subjects for an under-graduated student who’s mayor in elect ronic information engineering, circuit analysis state for the professional capability. With the development of the circuit analysis field, circuits get more complicated and simulation technology using computer grown up. Dynamic circuit analysis is the most difficult, which takes time and a huge mount of manual work especially when circuit is complicated. So we uses the Matlab/Simulink simulation tools and the power system block model library to make analysis on several simple circuit such as the alternating urgent steady-state circuit、direct current steady-state circuit and first-order dynamic circuit. The circuits are programmed by Matlab language and simulate it by Simulink tools. Although simulation by computer software can not replace the traditional way, it helps people to understand circuit analysis directly and effectively. By these tools,people can demonstrate the circuit performances and reduce complicated calculation. It makes us save a lot of work. During this process,we know how Matlab/Simulink work and show the advantage of Matlab/Simulink tools on circuit analysis,it turns out to be simple,convenience,efficient and flexible.MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include:1.Math and computation2.Algorithm development3.Modeling, simulation, and prototyping4.Data analysis, exploration, and visualization5.Scientific and engineering graphics6.Application development, including graphical user interface building MATLAB is an interactive system whose basic data element is an array that doesnot require dimensioning. That allows you to solve many technical computing problems, especially those with matrix and vector formations in a fraction of the time, which would take a lot of time to write a program in a scalar non-interactive language such as C or FORTRAN.The name MATLAB stands for matrix laboratory. MATLAB was originally written to provide easy access to matrix software developed by the LINPACK and EISPACK projects. Today, MATLAB engines incorporate the LAPACK and BLAS libraries, embedding the state of the art in software for matrix computation.MATLAB has evolved over a period of years with input many users. In university environments, it is the standard instructional tool for introductory and advanced courses in mathematics, engineering, and science. In industry, MATLAB is the tool of choice for high-productivity research, development, and analysis.MATLAB features a family of add-on application-specific solutions called toolboxes. Very important to most users of MATLAB, toolboxes allow you to learn and apply specialized technology. Toolboxes are comprehensive collections of MATLAB functions (M-files) that extend the MATLAB environment to solve particular classes of problem. Areas in which toolboxes are available include signal processing, control systems, neural networks, fuzzy logic, wavelets, simulation, and many others.The MATLAB system consists of five main parts:Development environment. This is the set of tools and facilities that help you use MATLAB functions and files. Many of these tools are graphical user interfaces. It includes the MATLAB desktop and Command Windows, a command history, an editor and debugger, and browsers for viewing help, the workspaces, files, and the search path.The MATLAB Mathematical Function Library. This is a vast collection of computational algorithms ranging from elementary functions like sum, sine, cosine, and complex arithmetic, to more sophisticated functions like matrix eigenvalue, Bessel functions, and fast Fourier transforms.The MATLAB Language. This is a high-level matrix/array language with control flow statements, functions, data structures, input/output, and object-oriented programming features. It allows both “programming in the small” rapidly create quick and dirty throw-away programs, and “programming in the large” to create complete large and complex application programs.Graphics. MATLAB has extensive facilities for displaying vectors and matrices as graphs, as well as annotating and printing these graphs. It includes high-level functions for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics. It also includes low-level functions that allow you to fully customize the appearance of graphics as well as build complete graphical user interfaces on your MATLAB applications.The MATLAB Application Program Interface(API). This is a library that allows you to write C and FORTRAN programs that interact with MATLAB. It include facilities for calling routines from MATLAB(dynamic linking), calling MATLAB as a computational engine, and for reading and writing MAT-files.In the circuit analysis the RLC two steps electric circuits analysis process is quite complex, and must make the response curve analysis system the performance index extremely to be also difficult. Moreover to the second-order differential equation solution also is quite troublesome, therefore causes the majority the schoolmate which studies this class when studies two steps electric circuits understands quite difficultly. But MATLAB is visible face science and engineering calculation large-scale outstanding science and technology application software, its sentence succinct, the function formidable, simple is practical, in the circuit analysis, the computation has the widespread application. MATLAB provides massive and the rich built-in function, the highly effective succinct sentence, can meet each kind of needs which the electric circuit calculates, the MATLAB language permission plural number direct participation operation, has satisfied the alternating-current circuit analysis, the computation demand. The MATLAB language may directly draw up the voltage, the electric current measures the chart, but measures the chart analyzes the alternating-current circuit essential important tool, is other computation language strength can not.参考译文:MATLAB与电路分析在当今世界,计算机技术,网络技术和通信技术正在迅猛的发展,人民的生活水平逐步提高,电子产品变得越来越重要。
液位控制系统中英文对照外文翻译文献
液位控制系统中英⽂对照外⽂翻译⽂献中英⽂对照翻译The liquid level control system based ondde\matlab\simulinkProcess control is an important application field of automatic technology, it is to point to the level, temperature, flow control process variables, such as in metallurgy, machinery, chemical, electric power, etc can be widely used. Especially liquid level control technology in real life, played an important role in production, for example, the water supply, civil water tower if low water levels, can affect people's lives in water; Industrial enterprises with water, if the drainage water drainage or controlled properly or not, in relation to the workshop of condition; Boiler drum, if the control level boiler is too low, can make level boiler overheating, possible accident; Jing flow, liquid level control tower control accuracy and level of the craft can influence the quality of the products and the cost, etc. In these production field, are basically labor strength or the operation has certain risk nature of work, extremely prone to accidents caused by operating error, the losses, killing manufacturer. Visible, in actual production, liquid level control accuracy and control effects directly affect the factory production cost and economic benefit of safety coefficient. Even equipment So, in order to ensure safety, convenient operation, you have to research the development of a d v a n c e d l e v e l c o n t r o l m e t h o d s a n d s t r a t e g i e s.The graduation design topic is the liquid level control system based on dde\matlab\simulink\force control, Among them was controlled object for tank level, Communication mode for DDE communications , Matlab is mainly used in the simulation test ,And force control software used for modeling, This system mainly through combination of hardware and software device to achieve precise control of liquid level , In modern industry level control of important component, it influence upon production not allow to ignore, in order to ensure safety in production and the product quality and quantity, the level and perform effective control is very necessary, The following is a description of all aspects:⼀PID controllerA proportional–integral–derivative controller (PID controller) is a generic .control loop feedback mechanism widely used in industrial control systems.A PID controller attempts to correct the error between a measured process variable and a desired set point by calculating and then outputting a corrective action that can adjust the process accordingly.The PID controller calculation (algorithm) involves three separate parameters; the Proportional, the Integral and Derivative values. The Proportional value determines the reaction to the current error, the Integral determines the reaction based on the sum of recent errors and the Derivative determines the reaction to the rate at which the error has been changing. The weighted sum of these three actions is used to adjust the process via a control element such as the position of a control valve or the power supply of a heating element. By "tuning" the three constants in the PID controller algorithm the PID can provide control action designed for specific process requirements. The response of the controller can be described in terms of the responsiveness of the controller to an error, the degree to which the controller overshoots the set point and the degree of system oscillation. Note that the use of the PID algorithm for control does not guarantee optimal control of the system or system stability.Some applications may require using only one or two modes to provide the appropriate system control. This is achieved by setting the gain of undesired control outputs to zero. A PID controller will be called a PI, PD, P or I controller in the absence of the respective control actions. PI controllers are particularly common, since derivative action is very sensitive to measurement noise, and the absence of an integral value may prevent the system from reaching its target value due to the control action.1.Control loop basicsA familiar example of a control loop is the action taken to keep one's shower water at the ideal temperature, which typically involves the mixing of two process streams, cold and hot water. The person feels the water to estimate its temperature. Based on this measurement they perform a control action: use the cold water tap to adjust the process. The person would repeat this input-output control loop, adjusting the hot water flow until the process temperature stabilized at the desired value.Feeling the water temperature is taking a measurement of the process value or process variable (PV). The desired temperature is called the set point (SP). The output from the controller and input to the process (the tap position) is called the manipulated variable (MV). The difference between the measurement and the set point is the error (e), too hot or too cold and by how much. As a controller, one decides roughly how much to change the tap position (MV) after one determines the temperature (PV), and therefore the error. This first estimate is the equivalent of the proportional action of a PID controller. The integral action of a PID controller can be thought of as gradually adjusting the temperature when it is almost right.Derivative action can be thought of as noticing the water temperature is getting hotter or colder, and how fast, and taking that into account when deciding how to adjust the tap,Making a change that is too large when the error is small is equivalent to a high gain controller and will lead to overshoot. If the controller were to repeatedly make changes that were too large and repeatedly overshoot the target, this control loop would be termed unstable and the output would oscillate around the set point in either a constant, growing, or decaying sinusoid. A human would not do this because we are adaptive controllers, learning from the process history, but PID controllers do not have the ability to learn and must be set up correctly. Selecting the correct gains for effective control is known as tuning the controller.If a controller starts from a stable state at zero error (PV = SP), then further changes by the controller will be in response to changes in other measured or unmeasured inputs to the process that impact on the process, and hence on the PV. Variables that impact on the process other than the MV are known as disturbances and generally controllers are used to reject disturbances and/or implement set point changes. Changes in feed water temperature constitute a disturbance to the shower process.In theory, a controller can be used to control any process which has a measurable output (PV), a known ideal value for that output (SP) and an input to the process (MV) that will affect the relevant PV. Controllers are used in industry to regulate temperature, pressure, flow rate, chemical composition, speed and practically every other variable for which a measurement exists. Automobile cruise control is an example of a process which utilizes automated control.Due to their long history, simplicity, well grounded theory and simple setup and maintenance requirements, PID controllers are the controllers of choice for many ofthese applications.2.PID controller theoryNote: This section describes the ideal parallel or non-interacting form of the PID controller. For other forms please see the Section "Alternative notation and PID forms".The PID control scheme is named after its three correcting terms, whose sum constitutes the manipulated variable (MV). Hence:where Pout, Iout, and Dout are the contributions to the output from the PID controller from each of the three terms, as defined below.2.1. Proportional termThe proportional term makes a change to the output that is proportional to the current error value. The proportional response can be adjusted by multiplying the error by a constant Kp, called the proportional gain.The proportional term is given by:WherePout: Proportional outputKp: Proportional Gain, a tuning parametere: Error = SP ? PVt: Time or instantaneous time (the present)Change of response for varying KpA high proportional gain results in a large change in the output for a given change in the error. If the proportional gain is too high, the system can become unstable (See the section on Loop Tuning). In contrast, a small gain results in a small output response to a large input error, and a less responsive (or sensitive) controller. If the proportional gain is too low, the control action may be too small when responding to system disturbances.In the absence of disturbances, pure proportional control will not settle at its target value, but will retain a steady state error that is a function of the proportional gain and the process gain. Despite the steady-state offset, both tuning theory and industrial practice indicate that it is the proportional term that should contribute the bulk of the output change.2.2.Integral termThe contribution from the integral term is proportional to both the magnitude of the error and the duration of the error. Summing the instantaneous error over time (integrating the error) gives the accumulated offset that should have been corrected previously. The accumulated error is then multiplied by the integral gain and added to the controller output. The magnitude of the contribution of the integral term to the overall control action is determined by the integral gain, Ki.The integral term is given by:Iout: Integral outputKi: Integral Gain, a tuning parametere: Error = SP ? PVτ: Time in the past contributing to the integral responseThe integral term (when added to the proportional term) accelerates the movement of the process towards set point and eliminates the residual steady-state error that occurs with a proportional only controller. However, since the integral term is responding to accumulated errors from the past, it can cause the present value to overshoot the set point value (cross over the set point and then create a deviation in the other direction). For further notes regarding integral gain tuning and controller stability, see the section on loop tuning.2.3 Derivative termThe rate of change of the process error is calculated by determining the slope of the error over time (i.e. its first derivative with respect to time) and multiplying this rate of change by the derivative gain Kd. The magnitude of the contribution of the derivative term to the overall control action is termed the derivative gain, Kd.The derivative term is given by:Dout: Derivative outputKd: Derivative Gain, a tuning parametere: Error = SP ? PVt: Time or instantaneous time (the present)The derivative term slows the rate of change of the controller output and this effect is most noticeable close to the controller setpoint. Hence, derivative control isused to reduce the magnitude of the overshoot produced by the integral component and improve the combined controller-process stability. However, differentiation of a signal amplifies noise and thus this term in the controller is highly sensitive to noise in the error term, and can cause a process to become unstable if the noise and the derivative gain are sufficiently large.2.4 SummaryThe output from the three terms, the proportional, the integral and the derivative terms are summed to calculate the output of the PID controller. Defining u(t) as the controller output, the final form of the PID algorithm is:and the tuning parameters areKp: Proportional Gain - Larger Kp typically means faster response since thelarger the error, the larger the Proportional term compensation. An excessively large proportional gain will lead to process instability and oscillation.Ki: Integral Gain - Larger Ki implies steady state errors are eliminated quicker. The trade-off is larger overshoot: any negative error integrated during transient response must be integrated away by positive error before we reach steady state.Kd: Derivative Gain - Larger Kd decreases overshoot, but slows down transient response and may lead to instability due to signal noise amplification in the differentiation of the error.⼆Matlab IntroductionThe MATLAB? environment is well suited to rapid prototyping and application development. The interactive programming environment, built-in math functions, toolboxes, editing and debugging tools, and deployment options all contribute to reducing your overall development time.By using the built-in math functions and the many specialized functions contained within our toolboxes, MATLAB can significantly reduce the time it takes you to develop prototypes. In addition to integrated editing and debugging tools, MATLAB provides a performance profiler to help you further optimize your code when programming in MATLAB.Building applications around complex algorithms and graphics is easier than everwith the GUI builder, GUIDE. GUIDE was redesigned in MATLAB 6 to save you time. It offers all the drag and drop interface options you would expect, such as text boxes, radio buttons, check boxes, listboxes, sliders, pop-up menus, frames and more.When you're ready to deploy your application, the MathWorks offers a number of different options that allow you to either convert or interface your MATLAB application to other environments including C/C++ and the Web. MATLAB is the most productive development environment for creating scientific and engineering applications because it offers powerful tools for every step in the process to reduce your overall development time.MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses includeMath and computationAlgorithm developmentData acquisitionModeling, sim ulation, and prototypingData analysis, exploration, and visualizationScientific and engineering graphicsApplication development, including graphical user interface building三DDE IntroductionDynamic data exchange (DDE, Dynamic data exchange) is real-time exchange data between applications, it is the effective method between different applications to share data a agreement. DDE agreement is a kind of open, and language unrelated, based on protocol, it allows multiple applications to any human agreed format data exchange or command. It is application through Shared memory process of the communication between a form, also need not user intervention of good data exchange method.DDE applications can be divided into four types: client and server and client/server and the monitor. Conversation is a basic concept of DDE. DDE conversation happened in client applications and server application between. Customer is responsible for initializing and attendant session and control conversation flow, from the server application request data or services; The server applicationresponse client applications of data or service request. Client/server applications is both client applications and server application request, it can be and can provide information. Monitor application for debugging purposes. DDE applications can have multiple burst conversation, a service applications can also have multiple client applications, a client applications can to multiple requests data service applications, and an application can also act as client applications and services applications, when don't need the service application data or service, the customer will terminate session. DDE agreement must be synchronous control the news session, but in different application can switch between asynchronous session. DDE Application using the three layer identification system: Application name apply), theme name (from) and project name (Item). Application name (also called service name) is located at the top of the hierarchical structure, the service application registration for pointed out that particular DDE server application name, customer the application wants to establish session with the server application must be specified application name when this string marks; Name in every conversation topics is one and to identify logical data connection string, is the total classification, data it defines a server application conversation theme content, the server application can support one or more theme name; Project name identifies exchange unit of data string, furthermore confirm the conversation of detailed information, every theme name may have one or more project name.Example: for a database interface applications, will it supports database name as a theme name, and will all sorts of SQL commands as project name, because the server application can support one or more theme, and each theme name name may have one or more project name; So, when to change or reconstruct a conversation, just changing the subject name or project name can.四force control IntroductionForce control is Beijing SANWEI force control technology and "soft" control strategy software, real-time database and its management system, Web portal of tools and other products. These products are not isolated, and the force control is an application scale can free the system structure, the whole expansion force control system and its various products are made from some components procedures according to certain combinations and become. So this guide is not specifically targeted specific products separately describes the use of method, but the common use of all products introduced method. Force control configuration software is a can run on Windows 98/2000 / NT environment, and can run on Windows CE, DOS embedded environment control fu- nctions such as software modules. It USES function diagram way for users provide interface, possess and real-time database, graphical interface system and communication function.Force charged with monitoring configuration software is to the field production data acquisition and process control of specialized software, the biggest characteristic is to flexible "configuration mode" instead of programming approach to system integration, and it provides a good user interface and simple engineering development, as long as the realization method of software module of pre-settings simple "configuration", it can easily realization and complete monitoring layer each function, shorten the automation engineer system integration time, greatly improve the efficiency of integration.Force charged with monitoring configuration software is in the automatic control system monitoring layer level software platform, it can also and the domestic and foreign various industrial control network communication equipment manufacturer, it is ok with high reliable industrial controlling computer and network system integration, can achieve the purpose of the centralized management and monitoring, and can also be convenient to control layer and management for software and hardware to implement all the interface, with "third party" hardware and software systems for integration.The control strategy in the force control, an application in generator may have a lot of control strategy, but only one main strategy. The Lord, the Lord was first execution strategy calls. Other strategies strategy Strategy nested grade 4, namely for most 0 ~ 3 level, in this category 4, grade 3 0 level supreme, the lowest. Senior strategy can call low-level strategy, and low-level strategy can't call senior strategy. In addition to tier 3 most can have 127 strategy outside, other three grades maximum respectively are 255 strategy. Control strategy of by some basic function blocks, a function blocks represent an operation, algorithm or variables. Function blocks basic execution element is strategy, similar to an integrated circuit blocks, have several input and output, each input and output tube feet all have the only name.Force control control strategy is in control strategy, edited generated generators in automatic control strategy for strategies when inventory compiled, and check grammar mistakes, compile can also manually. Control strategy, and you can also call between if A strategy was B strategy calls, says A is B son strategy. A functional block can be repeated calls, each calls are automa- tically entitled to a name by. The executive order and function block in the position of screen on the upper left, position relevant function block, according to priority execution left after the first order under implementation.Force control control strategy of basic function blocks generator was divided into five categories: variable function blocks, mathematical operation function blocks, program control function blocks, logic function blocks function block and control algorithm.基于matlab\dde\simulink\⼒控的液位控制系统过程控制是⾃动技术的重要应⽤领域,它是指对液位、温度、流量等过程变量进⾏控制,在冶⾦、机械、化⼯、电⼒等⽅⾯得到了⼴泛应⽤。
matlab中英文翻译文献
附录英文原文Scene recognition for mine rescue robotlocalization based on visionAbstract:A new scene recognition system was presented based on fuzzy logic and hidden Markov model(HMM) that can be applied in mine rescue robot localization during emergencies. The system uses monocular camera to acquire omni-directional images of the mine environment where the robot locates. By adopting center-surround difference method, the salient local image regions are extracted from the images as natural landmarks. These landmarks are organized by using HMM to represent the scene where the robot is, and fuzzy logic strategy is used to match the scene and landmark. By this way, the localization problem, which is the scene recognition problem in the system, can be converted into the evaluation problem of HMM. The contributions of these skills make the system have the ability to deal with changes in scale, 2D rotation and viewpoint. The results of experiments also prove that the system has higher ratio of recognition and localization in both static and dynamic mine environments.Key words: robot location; scene recognition; salient image; matching strategy; fuzzy logic; hidden Markov model1 IntroductionSearch and rescue in disaster area in the domain of robot is a burgeoning and challenging subject[1]. Mine rescue robot was developed to enter mines during emergencies to locate possible escape routes for those trapped inside and determine whether it is safe for human to enter or not. Localization is a fundamental problem in this field. Localization methods based on camera can be mainly classified into geometric, topological or hybrid ones[2]. With its feasibility and effectiveness, scene recognition becomes one of the important technologies of topological localization.Currently most scene recognition methods are based on global image features and have two distinct stages: training offline and matching online.During the training stage, robot collects the images of the environment where it works and processes the images to extract global features that represent the scene. Some approaches were used to analyze the data-set of image directly and some primary features were found, such as the PCA method [3]. However, the PCA method is not effective in distinguishing the classes of features. Another type of approach uses appearance features including color, texture and edge density to represent the image. For example, ZHOU et al[4] used multidimensional histograms to describe global appearance features. This method is simple but sensitive to scale and illumination changes. In fact, all kinds of global image features are suffered from the change of environment.LOWE [5] presented a SIFT method that uses similarity invariant descriptors formed by characteristic scale and orientation at interest points to obtain the features. The features are invariant to image scaling, translation, rotation and partially invariant to illumination changes. But SIFT may generate 1 000 or more interest points, which may slow down the processor dramatically.During the matching stage, nearest neighbor strategy(NN) is widely adopted for its facility and intelligibility[6]. But it cannot capture the contribution of individual feature for scene recognition. In experiments, the NN is not good enough to express the similarity between two patterns. Furthermore, the selected features can not represent the scene thoroughly according to the state-of-art pattern recognition, which makes recognition not reliable[7].So in this work a new recognition system is presented, which is more reliable and effective if it is used in a complex mine environment. In this system, we improve the invariance by extracting salient local image regions as landmarks to replace the whole image to deal with large changes in scale, 2D rotation and viewpoint. And the number of interest points is reduced effectively, which makes the processing easier. Fuzzy recognition strategy is designed to recognize the landmarks in place of NN, which can strengthen the contribution of individual feature for scene recognition. Because of its partial information resuming ability, hidden Markov model is adopted to organize those landmarks, which can capture the structure or relationship among them. So scene recognition can be transformed to the evaluation problem of HMM, which makes recognition robust.2 Salient local image regions detectionResearches on biological vision system indicate that organism (like drosophila) often pays attention to certain special regions in the scene for their behavioral relevance or local image cues while observing surroundings [8]. These regions can be taken as natural landmarks to effectively represent and distinguish different environments. Inspired by those, we use center-surround difference method to detect salient regions in multi-scale image spaces. The opponencies of color and texture are computed to create the saliency map.Follow-up, sub-image centered at the salient position in S is taken as the landmark region. The size of the landmark region can be decided adaptively according to the changes of gradient orientation of the local image [11].Mobile robot navigation requires that natural landmarks should be detected stably when environments change to some extent. To validate the repeatability on landmark detection of our approach, we have done some experiments on the cases of scale, 2D rotation and viewpoint changes etc. Fig.1 shows that the door is detected for its saliency when viewpoint changes. More detailed analysis and results about scale and rotation can be found in our previous works[12].3 Scene recognition and localizationDifferent from other scene recognition systems, our system doesn’t need training offline. In other words, our scenes are not classified in advance. When robot wanders, scenes captured at intervals of fixed time are used to build the vertex of a topological map, which represents the place where robot locates. Although the map’s geometric layout is ignored by the localization system, it is useful for visualization and debugging[13] and beneficial to path planning. So localization means searching the best match of current scene on the map. In this paper hidden Markov model is used to organize the extracted landmarks from current scene and create the vertex of topological map for its partial information resuming ability.Resembled by panoramic vision system, robot looks around to get omni-images. FromFig.1 Experiment on viewpoint changeseach image, salient local regions are detected and formed to be a sequence, named as landmark sequence whose order is the same as the image sequence. Then a hidden Markov model is created based on the landmark sequence involving k salientlocal image regions, which is taken as the description of the place where the robot locates. In our system EVI-D70 camera has a view field of ±170°. Considering the overlap effect, we sample environment every 45° to get 8 images.Let the 8 images as hidden state Si (1≤i≤8), the created HMM can be illustrated by Fig.2. The parameters of HMM, aij and bjk, are achieved by learning, using Baulm-Welch algorithm[14]. The threshold of convergence is set as 0.001.As for the edge of topological map, we assign it with distance information between two vertices. The distances can be computed according to odometry readings.Fig.2 HMM of environmentTo locate itself on the topological map, robot must run its ‘eye’ on environment and extract a landmark sequence L1′ − Lk′ , then search the map for the best matched vertex (scene). Different from traditional probabilistic localization[15], in our system localization problem can be converted to the evaluation problem of HMM. The vertex with the greatest evaluation value, which must also be greater than a threshold, is taken as the best matched vertex, which indicates the most possible place where the robot is.4 Match strategy based on fuzzy logicOne of the key issues in image match problem is to choose the most effective features or descriptors to represent the original image. Due to robot movement, those extracted landmark regions will change at pixel level. So, the descriptors or features chosen should be invariant to some extent according to the changes of scale, rotation and viewpoint etc. In this paper, we use 4 features commonly adopted in the community that are briefly described as follows.GO: Gradient orientation. It has been proved that illumination and rotationchanges are likely to have less influence on it[5].ASM and ENT: Angular second moment and entropy, which are two texture descriptors.H: Hue, which is used to describe the fundamental information of the image.Another key issue in match problem is to choose a good match strategy or algorithm. Usually nearest neighbor strategy (NN) is used to measure the similarity between two patterns. But we have found in the experiments that NN can’t adequately exhibit the individual descriptor or feature’s contribution to similarity measurement. As indicated in Fig.4, the input image Fig.4(a) comes from different view of Fig.4(b). But the distance between Figs.4(a) and (b) computed by Jefferey divergence is larger than Fig.4(c).To solve the problem, we design a new match algorithm based on fuzzy logic for exhibiting the subtle changes of each features. The algorithm is described as below.And the landmark in the database whose fused similarity degree is higher than any others is taken as the best match. The match results of Figs.2(b) and (c) are demonstrated by Fig.3. As indicated, this method can measure the similarity effectively between two patterns.Fig.3 Similarity computed using fuzzy strategy5 Experiments and analysisThe localization system has been implemented on a mobile robot, which is built by our laboratory. The vision system is composed of a CCD camera and a frame-grabber IVC-4200. The resolution of image is set to be 400×320 and the sample frequency is set to be 10 frames/s. The computer system is composed of 1 GHz processor and 512 M memory, which is carried by the robot. Presently the robot works in indoor environments.Because HMM is adopted to represent and recognize the scene, our system has the ability to capture the discrimination about distribution of salient local image regions and distinguish similar scenes effectively. Table 1 shows the recognition result of static environments including 5 laneways and a silo. 10 scenes are selected from each environment and HMMs are created for each scene. Then 20 scenes are collected when the robot enters each environment subsequently to match the 60 HMMs above.In the table, “truth” means that the scene to be localized matches with the right scene (the evaluation value of HMM is 30% greater than the second high evaluation). “Uncertainty” means that the ev aluation value of HMM is greater than the second high evaluation under 10%. “Error match” means that the scene to be localized matches with the wrong scene. In the table, the ratio of error match is 0. But it is possible that the scene to be localized can’t match any scenes and new vertexes are created. Furthermore, the “ratio of truth” about silo is lower because salient cues are fewer in this kind of environment.In the period of automatic exploring, similar scenes can be combined. The process can be summarized as: when localization succeeds, the current landmark sequence is added to the accompanying observation sequence of the matched vertex un-repeatedly according to their orientation (including the angle of the image from which the salient local region and the heading of the robot come). The parameters of HMM are learned again.Compared with the approaches using appearance features of the whole image (Method 2, M2), our system (M1) uses local salient regions to localize and map, which makes it have more tolerance of scale, viewpoint changes caused by robot’smovement and higher ratio of recognition and fewer amount of vertices on the topological map. So, our system has better performance in dynamic environment. These can be seen in Table 2. Laneways 1, 2, 4, 5 are in operation where some miners are working, which puzzle the robot.6 Conclusions1) Salient local image features are extracted to replace the whole image to participate in recognition, which improve the tolerance of changes in scale, 2D rotation and viewpoint of environment image.2) Fuzzy logic is used to recognize the local image, and emphasize the individual feature’s contribution to recognition, which improves the reliability of landmarks.3) HMM is used to capture the structure or relationship of those local images, which converts the scene recognition problem into the evaluation problem of HMM.4) The results from the above experiments demonstrate that the mine rescue robot scene recognition system has higher ratio of recognition and localization.Future work will be focused on using HMM to deal with the uncertainty of localization.中文翻译基于视觉的矿井救援机器人场景识别摘要:基于模糊逻辑和隐马尔可夫模型(HMM),论文提出了一个新的场景识别系统,可应用于紧急情况下矿山救援机器人的定位。
外文翻译 matlab 介绍大学论文
外文原文Introduction to MATLABMATLAB (short for Matrix Laboratory) is a special-purpose computer program optimized to perform engineering and scientific calculations. It started life has a program designed to perform matrix mathematics, but over the years it has grown into a flexible computing system capable of solving essentially any technical problem. The MATLAB program implements the MATLAB programming language and provides an extensive library of predefined functions that make technical programming tasks easier and more efficient. This book introduces the MATLAB language and shows how to use it to solve typical technical problems.MATLAB is a huge program, with an incredibly rich variety of functions. Even the basic version of MATLAB without any toolkits is much richer than other technical programming languages. There are more than 1000 functions in the basic MATLAB product alone,and the toolkits extend this capability with many more functions in various specialties. This book makes no attempt to introduce the user to all of MALTLAB′s own tools to locate the correct function for a specific purpose from the enormous choice available.Advantages of MATLABMATLAB has many advantages compared with conventional computer languages for technical problem solving. Among them are the following:1.Ease of UseMATLAB is an interpreted language, like many versions of Basic. Like Basic, it is very easy to use. The program can be used as a scratch pad to evaluate expressions typed at the command line, or it can be used to execute large prewritten programs. Programs may be easily written and modified with the built-in integrated development environment, and debugged with the MATLAB debugger. Because the language is so easy to use, it is ideal for educational use, and for the rapid prototyping of new programs.Many program development tools are provided to make the program easy to use. a workspace browser, and extensive demos.2.Platform independenceMATLAB is supported on many different computer systems, providing a large measure of platform independence. At the time of this writing, the language issupported on windows 9x/NT/2000 and many different versions of UNIX.Programs written on any platform will run on all of the other platforms, and data files written on any platform may be read transparently on any other platforms, AS a result,Programs written in MATLAB can migrate to new platforms when the needs of the user change.3.Predefined FunctionsMATLAB comes complete with an extensive library of predefined functions that provide tested and prepackaged solutions to many basic technical tasks. For example, suppose that you are writing a program that must calculate the statistics associated with an input data set. In most languages, you would need to write your own subroutines or functions to implement calculations such as the arithmetic mean, standard deviation, median, and so forth. These and hundreds of other functions are built right into the MATLAB language, making your job much easier.In addition to the large library of functions built into the basic MATLAB language, many special-purpose toolboxes are available to help solve complex problems in specific areas. For example, a user can buy standard toolboxes to solve problems in Signal Processing, Control Systems, Communications, Image Processing, and Neural Networks, among many others. There is also an extensive collection of free user-contributed MATLAB programs that are shared through the MATLAB Web site.4.Device-Independent PlottingUnlike most other computer languages, MATLAB has many integral plotting and imaging commands. The plots and images can be displayed on any graphical output device supported by the computer on which MATLAB is running. This capability makes MATLAB an outstanding tool for visualizing technical data.5.Graphical User InterfaceMATLAB includes tools that allow a programmer to interactively construct a graphical user interface (GUI) for his or her program. With this capability, the programmer can design sophisticated data analysis programs that can be operated by relatively inexperienced users.6.MATLAB CompilerMATLAB′s flexibility and platform independence is achieved by compilingMATLAB programs into a device-independence p-code, and then interpreting the p-code instructions at run time. This approach is similar to that used by Microsoft is Visual Basic language. Unfortunately, the resulting programs can sometimes execute slowly because the MATLAB code is interpreted rather than compiled.We will point out features that tend to slow program execution when we encounter them.A separate MATLAB compiler is available. This compiler can compile aMATLAB program into a true executable that runs faster than the interpreted code.It is a great way to convert a prototype MATLAB program into an executable suitable for sale and distribution to users.Disadvantages of MATLABMATLAB has two principal disadvantages. The first is that it is an interpreted language, and therefore can execute more slowly than compiled languages. This problem can be mitigated by properly structuring the MATLAB program and by the use of the MATLAB compiler to compile the final MATLAB program before distribution and general use.The second disadvantage is cost: A full copy of MATLAB is 5 to 10 times more expensive than a conventional C or Fortran compiler. This relatively high cost is more than offset by the reduced time required for an engineer or scientist to create a working program, so MATLAB is cost-effective for businesses. However, it is too expensive for most individuals to consider purchasing. Fortunately, there is also an inexpensive Student Edition of MATLAB, which is a great tool for students wanting to learn the language. The Student Edition of MATLAB is essentially identical to the full edition.With the introduction of branches and loops, our programs are going to become more complex, and it will get easier to make mistakes. To help avoid programming errors, we will introduce a formal program design procedure based on the technique known as top-down design. We will also introduce a common algorithm development tool known as pseudo code.Introduction To Top-Down Design TechniquesSuppose that you are an engineer working in industry, and that you need to write a program to solve some problem. How do you begin?When given anew problem, there is a natural tendency to sit down at a keyboard and start programming without “wasting” a lot of time thinking about the problemfirst. It is often possible to get away with this “on the fly” approach to programming for very small problems, such as many of the examples in this book. In the real world, however, problems are larger, and a programmer attempting this approach will become hopelessly bogged down. For larger problems, it pays to completely think out the problem and the approach you are going to take to it before writing a single line of code.We introduce a formal program design process in this section, and then apply that process to every major application developed in the remainder of the book. For some of the simple examples that we will be doing, the design process will seem like overkill; however, as the problems that we solve get larger and larger, the process becomes more and more essential to successful programming.When I was an undergraduate, one of my professors was fond of saying, “programming is easy. It is knowing what to program that is hard.” his point was forcefully driven home to me after I left university and began working in industry on larger scale software projects. I found that the most difficult port of my job was to understand the problem I was trying to solve. Once I really understood the problem, it became easy to break the problem apart into smaller, more easily manageable pieces with well-defined functions, and then to tackle those pieces one at a time.Top-down design is the process of starting with a large task and breaking it down into smaller, more easily understandable pieces, which perform a portion of the desired task. Each subtask may in turn be subdivided into smaller subtasks if necessary. Once the program is divided into small pieces, each piece can be coded and tested independently. We do not attempt to combine the subtasks into a complete task until each of the subtasks has been verified to work properly by itself.The concept of top-down design is the basis of our formal program design process. We will now introduce the details of the process, which is illustrated in figure 1 the steps involved are:1.Clearly state the problem that you are trying to solve.Programs are usually written to fill some perceived need, but that need may not be articulated clearly by the person requesting the program. For example, a user may ask for a program to solve a system of simultaneous linear equations. This request is not clear enough to allow a programmer to design a program to meet the need; he or she must first know much more about the problem to be solved. Is the system of equations to be solved real or complex? What is the maximum number of equations andunknown that the program must handle? Are there any symmetry in the equations that might be exploited to make the task easier? The program designer will have to talk with the user requesting the program, and the two of them will have come up with a clear statement of exactly what they are trying to accomplish. A clear statement of the problem will prevent misunderstandings, and it will also help the program designer to properly organize his or her thoughts. In the example we were describing, a proper statement of the problem might have been:Figure 1Design and write a program to solve a system of simultaneous linear equations having real coefficients and with up to 20 equations in 20 unknowns.2.Define the inputs required by the program and the outputs to be produced by theprogram.The inputs to the program and the outputs produced by the program must be specified so that the new program will properly fit into the overall processing scheme.In this example, the coefficients of the equations to be solved are probably in some pre-existing order, and our new program needs to be able to read them in that order. And our new program needs to be able to read them in that order. Similarly, it needs to produce the answers required by the programs that may follow it in the overall processing scheme, and to write out those answers in the format needed by the programs following it.3.Design the algorithm that you intend to implement in the program.An algorithm is a step-by-step procedure for finding the solution to a problem. It is at this stage in the process that top-down design techniques come into play. The designer looks for logical divisions within the problem, and divides it up into subtasks along those lines. This process is called decomposition. If the subtasks are large, the designer can break them up into even smaller sub-tasks. This process continues until the problem has been divided into many small pieces, each of which does a simple, clearly understandable job.After the problem has been decomposed into small pieces, each piece is further refined through a process called stepwise refinement. In stepwise refinement, a designer starts with a general description of what the piece of code should do, and then defines the functions of the piece in greater and greater detail until they are specific enough to be turned into MATLAB statements. Stepwise refinement is usually done with pseudo code, which will be described in the next section.It is often helpful to solve a simple example of the problem by hand during the algorithm development process. If the designer understands the steps that he or she went through in solving the problem by hand, then he or she will be better able to apply decomposition and stepwise refinement to the problem.4.Turn the algorithm into MATLAB statements.If the decomposition and refinement process was carried out properly, this step will be very simple. All the programmer will have to do is to replace pseudo code with the corresponding MATLAB statements on a one-for-one basis.5.Test the resulting MATLAB programThis step is the real killer. The components of the program must first be tested individually, if possible, and then the program as a whole must be tested. When testing a program, we must verify that it works correctly for all legal input data sets. It is very common for a program to be written, tested with some standard data set, and released for use, only to find that it produces the wrong answers (or crashes) with adifferent input data set. If the algorithm implemented in a program includes different branches, we must test all of the possible branches to confirm that the program operates correctly under every possible circumstance.Large programs typically go through a series of tests before they are released for general use (see Figure 2). The first stage of testing is sometimes called unit testing. During unit testing, the individual subtasks of the program are tested separately to confirm that they work correctly. After the unit testing is completed, the program goes through a series of builds, during which the individual subtasks are combined to produce the final program. The first build of the program typically includes only a few of the subtasks. It is used to check the interactions among those subtasks and the functions performed by the combinations of the subtasks. In successive builds, more and more subtasks are added, until the entire program is complete. Testing is performed on each build, and any errors(bugs) detected are corrected before moving on to the next build.Figure 2中文翻译MATLAB 介绍MATLAB (矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。
基于MATLAB的采样控制英文文献中文翻译
双速率数据采样系统的仿真摘要:双速率系统的仿真问题是采用离散提升技术、快速采样算子和快速保持算子来研究的。
该模型实现的结果与连续信号非常相近。
最后给出具体地仿真步骤,并结合实例在MATLAB环境下编程实现。
关键词:双速率数据采样系统,离散提升技术,快速采样算子,快速保持算子1.简介采样控制系统是指连续和数字系统的对象控制器。
目前,大多数的控制系统是继续的由计算机实现的采样控制系统控制器实现的。
随着对系统要求的不断提高,单速率的采样控制系统变得不能满足应用的要求,因此其地位被混合采样速率的采样控制系统所替代。
混合采样速率控制系统在实际应用中能够满足于很广泛的应用场合,这是因为:1)在复杂的多变量控制系统中,要求所有的物理量在被采样的时候都具备相同的采样速率是不现实的事情。
2)在对信号进行采样的工程中,采样的频率越高,系统对信号的复现性能就越好,但是快速的A/D和D/A转换器意味着更高的花费。
因此,对于不同的信号带宽,,你应该使用不同速率的A/D及D/A转换器,进而是的系统的功能达到一个较高的水平的同时,又不致使系统的花费太大。
3)多速率控制器一般而言是采样时间可变的控制器,这是但速率采样控制器不能与之相较的优点。
如增加系统增益裕度,则就要保持系统的稳定性从而保证系统离散控制功能的实现。
双速率采样控制系统是一个相对简单的多速率采样控制系统,其系统的框图如图1所示。
控制系统仿真被定义为:对于一个给定的输入W,对系统的输出信号Z进行模拟的过程。
图1 带虚拟采样器和保持器的双速率采样控制系统文献[4]中给出了一个高精度的单速率采样控制系统仿真的样本。
在单速率采样控制系统中仅存在一种采样周期,这样因而其仿真过程只需应用一些较成熟的理论。
例如单速率连续传递函数的离散化。
对于双速率采样控制系统而言,由于系统中存在两种不同的采样周期,并且控制器为时变控制器,这样就增加了仿真的难度。
本文采用离散提升技术,将系统中两种不同的采样周期有机地联系起来,把时变控制器变为时不变控制器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录英文原文Scene recognition for minerescue robotlocalization based on visionAbstract:Anewscenerecognition system waspresented base donfuzzy logicand hidden Markov model(HMM) that canb eapplied in minerescue robot localization during emergenc ies. Thesystem uses monocular camera to acquire omni-directional images ofthe mine environment where the robot locates. By adoptingcenter-surround differencemethod, the salient localimage regions are extracted from the images as natural landmarks.These landmarks are organized by using HMM to representthe scene where the robot is,and fuzzylogicstrategyis used to match the scene andlandmark.By this way, the localizationproblem,which is the scenerecognition problem in t hesystem,can be converted into the evaluationproblemof HMM. The contributionsofthese skills make the system havetheabilitytodeal with changes inscale, 2D rotation and viewpoint. The results ofexperimentsalsoprove that the system hashigher ratio of recognition and localizationin bothstaticanddynamicmine environments.Keywords: robotlocation;scene recognition;salientimage; matching strategy;fuzzy logic; hidden Markov model1 IntroductionSearch and rescuein disasterarea inthe domain ofrobot i s a burgeoning and challenging subject[1]. Minerescue robotwas developed toenter minesduring emergencies to locate possibleescape routes for those trapped inside and determine whetheritissafefor humanto enterornot. Localization is a fundamental problem in this field.Localization methodsbased on camera canbe mainly classified intogeometr ic, topological or hybrid ones[2].With its feasibility andeffectiv eness, scene recognition becomes oneof the important technologies of topological localization.Currentlymost scene recognition methods are basedongloba limage features andhave twodistinct stages:trainingoff line and matchingonline.During the training stage,robotcollectstheimages of theenvironmentwhere itworks and processes the images to extrac tglobalfeaturesthat represent the scene. Someapproacheswere used to analyze thedata-set of image directly and some primary features were found, suchas the PCA method [3]. However,thePCA methodisnot effective in distin guishing the classes of features.Anothertypeofapproach usesappearancefeatures including color, texture andedge density torepresent the image.For example, ZHOUe tal[4]used multidimensional histograms to describeglobal appearance features. This method issimple butsensitiveto scaleand illumination changes.Infact, allkindsofglobal image features are sufferedfrom the change of environment.LOWE [5] presenteda SIFTmethodthat uses similarity invariant descriptors formed by characteristic scaleandorientationat interest pointsto obtain thefeatures.The featuresare invarianttoimagescaling, translation,rotationandpartially invariant toillumination changes.But SIFTmay generate 1000 or more interest points, which may slowdown the processordramatically.During thematching stage, nearest neighborstrategy(NN)is widely adopted for its facility and intelligibility[6]. But it cannotcapture the contribution ofindividualfeature for scenerecognition.Inexperiments, theNN is not good enough to expressthe similarity between twopatterns. Furthermo re,the selectedfeaturescan not represent the scene thoroughlyac cording tothe state-of-art patternrecognition, whichmakes recognitionnot reliable[7].So inthis work a new recognition system is presented,wh ich is more reliable and effective if itisused in a complexmin eenvironment. In this system,weimprove the invariance by extractingsalient local image regions as landmarksto replace thewhole image to deal withlarge changes inscale,2D rotatio nand viewpoint. And the number of interestpoints is reducedeffectively,which makes the processing easier.Fuzzy recognition strategy is designed to recognizethe landmarks inplaceof NN, which can strengthen the contribution of individual feature for scene recognition.Because of itspartial information resuming ability, hidden Markov model is adopted to organizethose landmarks, which can capture the structure orrelationship among them.Soscene recognitioncanbetransformed to theevaluation problem of HMM,whichmakes recognition robust.2 Salientlocal imageregions detectionResearchesonbiological vision system indicate that organism(likedrosophila) often pays attentionto certain speci alregions in the scenefortheirbehavioral relevance or local i mage cues whileobservingsurroundings [8]. These regions can be takenas natural landmarks to effectivelyrepresentand distinguish differentenvironments.Inspiredby those,we use center-surrounddifference method to detectsalient regions in multi-scale image spaces.The opponenciesof color and texture a re computedtocreatethe saliency map.Follow-up,sub-imagecenteredat the salient position in S is taken asthe landmark region. The sizeof the landmark regio ncan be decided adaptivelyaccording to thechanges of gradient orientation ofthe local image[11].Mobile robotnavigation requires thatnatural landmarks should be detected stably whenenvironments change to someextent. To validate therepeatability on landmark detection ofourapproach,we have done some experiments onthe cases ofscale, 2D rotation and viewpointchanges etc. Fig.1 shows thatthedooris detected for its saliency when viewpoint changes. More detailedanalysisand results aboutscale and rotation canbe found inour previousworks[12].3 Scenerecognitionand localizationDifferentfrom other scenerecognitionsystems, our system doesn’t need training offline.In otherwords,our scenes are not classifiedinadvance.Whenrobotwanders, scenes ca pturedatintervals of fixed timeare used to build the vertexof atopological map,which represents the place where robot locates. Although the map’sgeometriclayout isignoredbythe localization system, itis useful for visualization anddeb ugging[13]and beneficialtopath planning.So localization m eanssearchingthe best match of currentscene onthemap.In thispaper hiddenMarkov model is usedto organize the extracted landmarks from current scene andcreate thevertex o ftopologicalmap forits partial informationresuming abi lity.Resembled by panoramic vision system, robot looks aroundto get omni-images. FromFig.1 Experimenton viewpoint changeseach image, salient local regions are detectedand formed to be a sequence, named aslandmark sequencewhose order is the sameas theimage sequence. Then a hidden Markov modelis creat ed basedon the landmark sequence involvingk salient local image regions,whichis taken as the description of theplacewhere the robot locates. In oursystemEVI-D70 camerahas a view field of ±170°.Considering the overlap effect,we sampleenvironment every 45° to get8images.Let the 8images as hiddenstateSi(1≤i≤8),the created HMMcan be illustrated by Fig.2.The parameters of HMM,aij andbjk, areachieved by learning, using Baulm-Welch algorith m[14].The threshold of convergence is set as 0.001.Asfor the edge of topological map,we assign it withdistanceinformationbetween two vertices. The distances can be co mputed according toodometry readings.Fig.2 HMM of environmentTo locate itself on thetopological map,robotmust ru nits‘eye’ onenvironment andextract a landmark sequence L1′ −Lk′ , thensearch the map for the bestmatched vertex(scene). Different from traditional probabilistic localization[15], in oursystem localizationproblem canbeconverted tothe evaluationproblemof HMM. The vertex withthe g reatest evaluation value, which mustalsobe greaterthan a threshold,is taken as the best matchedvertex,whichindicates the most possible placewhere therobot is.4 Match strategy based on fuzzylogicOne ofthe key issues in image matchproblemistochoosethe most effectivefeatures ordescriptors to represent theoriginal image. Due torobot movement,those extracted landmarkregions will changeatpixel level. So, the descriptors orfeatureschosen should be invariantto some extent according tothe changes of scale,rotationand viewpointetc. In thispaper, weuse 4 features commonly adopted in thecommunity tha tare brieflydescribed as follows.GO:Gradient orientation.It hasbeenproved thatilluminati onand rotation changes are likelyto have less influence onit [5].ASMand ENT:Angular secondmomentand entropy,whichare twotexture descriptors.H: Hue,which is used to describe the fundamental information of the image.Anotherkey issue in match problem isto choose a good match str ategy or algorithm.Usually nearest neighbor strategy (NN) isus ed to measurethe similarity between twopatterns. But we havefound in theexperiments that NN can’t adequately exhibit theindividual descriptor orfeature’s contributionto similarity measurement.Asindicatedin Fig.4, theinput image Fig.4(a) comes fromdifferent viewof Fig.4(b). But the distancebetw een Figs.4(a)and(b)computed by Jeffereydivergence is larger than Fig.4(c).To solve the problem,we design a new matchalgorithmbased on fuzzy logic forexhibiting the subtlechangesof eachfe atures. The algorithmis described asbelow.And the landmark in thedatabase whosefusedsimilarit ydegree ishigherthanany others is taken as the best matc h.The matchresultsof Figs.2(b)and(c) are demonstra ted by Fig.3.As indicated,this method canmeasure the similar ity effectivelybetweentwo patterns.Fig.3Similarity computedusingfuzzy strategy5Experiments and analysisThelocalization system has been implemented onamobile robot, which is builtby ourlaboratory.Thevision system is composedof aCCD cameraandaframe-grabberIVC-4200. The resolutionofimage isset to be400×320and thesample frequency issetto be 10 frames/s. Thecomputers ystem is composed of1GHz processor and512M memory,which i scarriedbytherobot. Presently the robot works in indoor environments.Because HMM is adopted to represent and recognize the scene, our system has the abilityto capture the discriminationabout distribution of salient local imageregions and distinguish similarscenes effectively. Table 1shows therecognition result of static environments including 5laneways and a silo. 10 scenes are selected fromeach environment and HMMs arecre ated for each scene.Then20 scenes arecollectedwhen the robot enters eachenvironmentsubsequently tomatch the 60HMMs above.In the table, “truth” means that the scene to be localized matches withthe right scene (the evaluationvalueofHMM is 30% greater thanthe second high evaluation). “Uncertainty” meansthat theevaluation valueof HMMisgreaterthanthesecondhigh evaluation under 10%.“Error match” meansthatthe scene to belocalized matches withthe wrong scene. In the table, the ratio of error match is 0. But it is possible that the sceneto be localized can’t match any scenesandnewvertexes are created. Furthermore, the“ratio of truth” aboutsilo is lower bec ausesalient cues arefewer in this kind of environment.Inthe periodof automaticexploring, similar scenes can be combined. The processcanbe summarized as: when localization succeeds, thecurrent landmarksequenceis added to theaccompanying observation sequenceof the matched vertexun-repeatedly according to theirorientation (including the angle oftheimagefrom whichthe salientlocal region and the headi ng of the robotcome).The parameters ofHMMarelearned again.Compared with theapproaches using appearancefeatures of the wholeimage(Method2, M2),oursystem (M1)uses local salient regionsto localizeandmap, whichmakes it have more tolerance of scale,viewpoint changes caused by robot’sm ovement andhigher ratioofrecognition andfewer amount of verticeson thetopological map. So, oursystemhasbetter performanceindynamicenvironment.These can be seen in Table 2. Laneways 1, 2, 4, 5 are in operationwhere some miners are working, which puzzle therobot.6Conclusions1) Salient localimagefeatures are extracted to replace the wholeimageto participatein recognition, whichimprovethetolerance of changesin scale,2Drotation and viewpoint of environmentimage.2) Fuzzy logic isusedtorecognize the local image, and emphasize theindividual feature’s contributiontorecognition, whichimprovesthe reliabilityof landmarks.3)HMMis usedto capturethe structure or relationship of those localimages,which converts the scene recognition problem into theevaluation problem of HMM.4)The results from the above experimentsdemonstratet hatthe minerescue robotscene recognition system has higher ratio of recognition and localization.Future work will befocused on using HMM todeal withtheuncertainty of localization.中文翻译基于视觉的矿井救援机器人场景识别摘要:基于模糊逻辑和隐马尔可夫模型(HMM),论文提出了一个新的场景识别系统,可应用于紧急情况下矿山救援机器人的定位。