MATLAB ® The Language of Technical Computing Computation Visualization Programming Release 11.1 New Features How to Contact The MathWorks: 508-647-7000 Phone 508-647-7001 Fax The MathWorks, Inc. 3 Apple Hill Drive Natick, MA 01760-2098 Mail http://www.mathworks.com Web Anonymous FTP server Newsgroup ftp.mathworks.com comp.soft-sys.matlab [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] Technical support Product enhancement suggestions Bug reports Documentation error reports Subscribing user registration Order status, license renewals, passcodes Sales, pricing, and general information Release 11.1 New Features COPYRIGHT 1984 - 1999 by The MathWorks, Inc. The software described in this document is furnished under a license agreement. The software may be used or copied only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form without prior written consent from The MathWorks, Inc. FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by or for the federal government of the United States. By accepting delivery of the Program, the government hereby agrees that this software qualifies as "commercial" computer software within the meaning of FAR Part 12.212, DFARS Part 227.7202-1, DFARS Part 227.7202-3, DFARS Part 252.227-7013, and DFARS Part 252.227-7014. The terms and conditions of The MathWorks, Inc. Software License Agreement shall pertain to the government’s use and disclosure of the Program and Documentation, and shall supersede any conflicting contractual terms or conditions. If this license fails to meet the government’s minimum needs or is inconsistent in any respect with federal procurement law, the government agrees to return the Program and Documentation, unused, to MathWorks. MATLAB, Simulink, Stateflow, Handle Graphics, and Real-Time Workshop are registered trademarks, and Target Language Compiler is a trademark of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders. Printing History: January 1999 October 1999 New for Release 11 Release 11.1 Contents New Features Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What’s in Release 11.1? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release 11.1 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release 11.1 New Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release 11.1 Known Software and Documentation Problems . Documentation For Existing Products . . . . . . . . . . . . . . . . . . . . Documentation For New Products . . . . . . . . . . . . . . . . . . . . . . . Online Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 3 3 4 4 5 Bug Fixes and Changes to Release 11 Products . . . . . . . . . . . . 6 Enhancements To Release 11 Products . . . . . . . . . . . . . . . . . . . 7 MATLAB’s OpenGL Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Database Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Running the Database Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . 7 Support For UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 New Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Visual Query Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 DSP Blockset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Running Different Blockset Versions . . . . . . . . . . . . . . . . . . . . . 8 New Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Library Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Low Latency for Multirate Blocks . . . . . . . . . . . . . . . . . . . . . . . 9 New and Enhanced Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Minor Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Demos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Financial Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Improved Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Portfolio Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Term Structure Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Signal Processing Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Spectral Analysis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 i Additional New Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Documentation Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 ii Contents Products Introduced Between Release 11 and Release 11.1 MATLAB C/C++ Graphics Library . . . . . . . . . . . . . . . . . . . . . . . . The Data Acquisition Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbox Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GARCH Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 16 16 18 Products Introduced in Release 11.1 . . . . . . . . . . . . . . . . . . . . . Dials & Gauges Blockset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Financial Time Series Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . Quantized Filtering Analysis Toolbox . . . . . . . . . . . . . . . . . . . . . Relationship To Other Products . . . . . . . . . . . . . . . . . . . . . . . . xPC Target and xPC Target Embedded Option . . . . . . . . . . . . . . 19 19 19 19 20 20 New Features Introduction . . . . . . What’s in Release 11.1? . . Release 11.1 Documentation Online Documentation . . Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 5 Bug Fixes and Changes to Release 11 Products . . . . . 6 Enhancements To Release 11 Products MATLAB’s OpenGL Support . . . . . . Database Toolbox . . . . . . . . . . DSP Blockset . . . . . . . . . . . . Financial Toolbox . . . . . . . . . . Signal Processing Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . 7 . 7 . 8 12 13 Products Introduced Between Release 11 and Release 11.1 MATLAB C/C++ Graphics Library . The Data Acquisition Toolbox . . . GARCH Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 19 19 20 . . . . . . . . . . . . Products Introduced in Release 11.1 . . Dials & Gauges Blockset . . . . . . . . . Financial Time Series Toolbox . . . . . . Quantized Filtering Analysis Toolbox . . . xPC Target and xPC Target Embedded Object New Features Introduction What’s in Release 11.1? Release 11.1 contains: • For these Release 11 products, either bug fixes or changes to support other products: - MATLAB® - MATLAB Compiler - MATLAB C/C++ Math Library - Control System Toolbox - Excel Link - Image Processing Toolbox - Real-Time Workshop® - Real-Time Workshop Ada Extension - Real-Time Windows Target - Simulink® - Stateflow® and Stateflow Coder • For these Release 11 products/features, enhancements: - MATLAB’s OpenGL support - Database Toolbox - DSP Blockset - Financial Toolbox - Signal Processing Toolbox • New products released (via the Web) between Release 11 and Release 11.1: - MATLAB C/C++ Graphics Library - Data Acquisition Toolbox - GARCH Toolbox • New products introduced in Release 11.1: - Dials & Gauges Blockset 2 Introduction - Financial Time Series Toolbox - Quantized Filtering Toolbox - xPC Target and xPC Target Embedded Option Release 11.1 Documentation Release 11.1 New Features This Release 11.1 New Features guide documents the products that were either introduced or changed since Release 11. For information about products and enhancements introduced with Release 11 and earlier releases, see the online Release 11 New Features document. Release 11.1 Known Software and Documentation Problems The Release 11.1 Known Software and Documentation Problems guide describes Release 11.1 software bugs and known documentation issues. Documentation For Existing Products The Release 11.1 documentation for products that were also available in Release 11 is the same as it was for Release 11, with the exceptions of the updated documentation listed below. Online documents are available in HTML and PDF form, except for the OpenGL update information. Document, Product, or Feature Printed? Online? Using MATLAB Database Toolbox User’s Guide DSP Blockset User’s Guide (and Readme file) Financial Toolbox User’s Guide OpenGL Readme file Excel Link User’s Guide 3 New Features Document, Product, or Feature Printed? Online? SB2SL User’s Guide Signal Processing Toolbox (reference documentation) Documentation For New Products The documentation for new products introduced after Release 11 is available in online form, and for some cases, also in printed form, as indicated in the table below. Product/Feature Printed? Online? Dials & Gauges Blockset Financial Time Series Toolbox GARCH Toolbox Quantized Filtering Toolbox xPC Target Online Documentation As you know if you are reading this document from within MATLAB, you can display the online documentation Help Desk by typing at the MATLAB command line helpdesk You can then access HTML documentation from the list of manuals on the top page. You can access PDF versions of the documentation from the “Online Manuals (in PDF)” link in the bottom left section of the Help Desk page. MATLAB documentation that is in HTML form is available from the top left section of the Help Desk page. Reference material for most 4 Introduction MathWorks products is available in HTML form, from the links on the right side of the Help Desk page. Note The Japanese Help Desk has been updated significantly for Release 11.1, including several new and updated manuals. Installation See the Installation Guide for information about how to install Release 11.1 on your platform. 5 New Features Bug Fixes and Changes to Release 11 Products Release 11.1 includes a number of bug fixes to products that were in Release 11 (and in most cases, earlier releases). Information about software bugs and fixes is available from the Technical Support page of The MathWorks Web page: http://www.mathworks.com/support/ Release 11.1 also includes some changes to a few Release 11 products to support one or more Release 11.1 products. The Release 11 products that include bug fixes or changes to support Release 11.1 products include: - MATLAB - MATLAB Compiler - MATLAB C/C++ Math Library - Control System Toolbox - Excel Link - Image Processing Toolbox - Real-Time Workshop - Real-Time Workshop Ada Extension - Real-Time Windows Target - Simulink - Stateflow and Stateflow Coder 6 Enhancements To Release 11 Products Enhancements To Release 11 Products This section summarizes the enhancements made to products/features introduced with Release 11 or earlier releases. Those products are: • MATLAB’s OpenGL support • Database Toolbox • DSP Blockset • Financial Toolbox • Signal Processing Toolbox MATLAB’s OpenGL Support This release supports the autoselection of the OpenGL renderer by MATLAB. Database Toolbox Running the Database Toolbox To use the new version of the Database Toolbox, use the command feature('dispatchjava',1) Support For UNIX You can now run the Database Toolbox on UNIX platforms. New Functions Release 11.1 introduces over 30 new functions, including a valuable set of functions for retrieving database metadata so you can find out information about the database, for example, table names and column names. Other new functions apply to drivers and result sets. Visual Query Builder The Visual Query Builder (shown below) is a new, easy-to-use, graphical user interface (GUI) for retrieving data from your database. 7 New Features DSP Blockset Note The DSP Blockset 3.1 requires Simulink 3.0. Running Different Blockset Versions When you install the DSP Blockset 3.1 on your computer, Version 2.2 of the blockset is also installed. Run Version 3.1 by typing dsplib. To run Version 2.2, type dsplib 2. 8 Enhancements To Release 11 Products New Features Version 3.1 of the DSP Blockset offers several new blocks, as well as substantial optimization for existing multirate blocks. The following sections summarize the new additions. See Chapter 1 of the online DSP Blockset User’s Guide for an overview of the blockset’s contents. Also see the DSP Blockset readme file for a complete listing of the changes. To view the readme file, at the MATLAB command line type info dspblks Library Structure The library structure has undergone further refinement for Version 3.1 with the addition of a Quantizers library in General DSP. The new library contains blocks for quantization and coding. Low Latency for Multirate Blocks Multirate blocks, such as the buffering and rate conversion blocks, are now optimized to produce the smallest possible delays under Simulink’s single-tasking mode. The blocks that benefit from this change are: • Buffer • Downsample • Dyadic Analysis • Dyadic Synthesis • FIR Decimation • FIR Interpolation • FIR Rate Conversion • Overlap-Add FFT Filter • Overlap-Save FFT Filter • Rebuffer • Repeat • Unbuffer • Upsample • Wavelet Analysis 9 New Features • Wavelet Synthesis Some of these blocks now have zero delay in single-tasking mode. See “Delay and Latency” in the online DSP Blockset User’s Guide for complete information. Note As a result of the reduced delay, models that use the blocks listed above may perform differently with DSP Blockset 3.1 than they did with DSP Blockset 3.0. Consult the Version 3.1 DSP Block Reference for the delay characteristics of particular blocks. In cases where an existing model relies on the suboptimal delay of 3.0 blocks to produce correct results, you may want to preserve the current behavior. Consult the Knowledge Base at the MathWorks Support Web site for information (search for “latency”). New and Enhanced Blocks The table below lists the new and substantially improved (*) blocks in Version 3.1. Block Library Block Name Description DSP Sources Discrete Impulse Generate a discrete impulse. Random Source Generate a vector of uniformly or normally distributed randomly values. Sine Wave* Generate a continuous or discrete sine wave. Version 3.1 adds table look-up, periodic schedule detection for discrete-time trigonometric mode, complex exponential output, and optimized code generation. dB* Convert magnitude data to decibels (dB or dBm). Version 3.1 adds dBm conversion and resistance specification. Polynomial Evaluation Evaluate a polynomial expression. Matrix Functions Matrix Square Compute the square of the input matrix. Linear Algebra Backward Substitution* Solve the equation UX=B for upper triangular matrix U. Version 3.1 adds support for matrix X and B. Cholesky Solver* Solve the equation SX=B for Hermitian positive definite matrix S. Version 3.1 adds support for matrix X and B. Forward Substitution* Solve the equation LX=B for lower triangular matrix L. Version 3.1 adds support for matrix X and B. Elementary Functions 10 Enhancements To Release 11 Products Block Library Block Name Description Transforms DCT* Compute the discrete cosine transform (DCT) of the input. Version 3.1 adds support for multichannel inputs. IDCT* Compute the inverse discrete cosine transform (IDCT) of the input. Version 3.1 adds support for multichannel inputs. Uniform Decoder Decode an integer input to a floating-point output. Uniform Encoder Quantize and encode a floating-point input to an integer output. Digital FIR Raised Cosine Filter Design Direct-Form II Transpose Filter* Design and implement a raised cosine FIR filter. Wavelet Analysis Decompose a signal into components of logarithmically decreasing frequency intervals and sample rates (requires the Wavelet Toolbox). Wavelet Synthesis Reconstruct a signal from its multirate bandlimited components (requires the Wavelet Toolbox). Quantizers Filter Designs Filter Realizations Multirate Filters Apply an IIR filter to the input. Version 3.1 allows the numerator and denominator coefficients to be tuned while the simulation runs (as long as the polynomial lengths remain the same). Minor Enhancements The filter design blocks now allow most parameters to be tuned while the simulation runs. The parameters that are not tunable are Filter order, Frame-based inputs, and Number of channels. The Window Function block offers a new Hann option for designing Hann windows (also known as Hanning windows). Demos A new frame-based wavelet denoising demo is available. At the MATLAB command line, type dspwdnoisf 11 New Features Financial Toolbox Improved Speed Fixed income functions use faster algorithms for tasks such as bond pricing, yield, and coupon cash flow mapping. The following functions have been rewritten for better performance: • cfamounts • cfdates • cpndaten • cpndatep • cpndatenq • cpndatepq Portfolio Optimization You can now include riskless investments in the portfolio optimization functions: • portopt • frontcon • portstats Term Structure Analysis A new function, prbyzero, has been added for interest term structure analysis. prbyzero computes fair bond prices from a zero curve or set of zero curves. The function is a companion to zbtprice, which bootstraps a zero curve from market bond prices. Another new function, cfport, creates a portfolio form of cash flows which is useful for term structure analysis. 12 Function Description prbyzero Price bonds from a zero curve. cfport Portfolio form of cash flows. Enhancements To Release 11 Products Signal Processing Toolbox Spectral Analysis Functions This release includes major updates to the signal processing spectral analysis functions, including changes to the units the power spectral density (PSD) is calculated in, and the frequency axis in plot displays. Now one-sided PSDs are plotted for real inputs. The functions that have been modified include: • pburg • pcov • peig (This function was in Release 11, but undocumented) • pmcov • pmtm • pmusic • pwelch • pyulear Additional New Functions There other are several new functions. Function Description corrmtx Computes a correlation matrix from data. freqzplot Plots frequency responses. hann Computes a Hann window and replaces the hanning function. periodogram Calculates periodograms. psdplot Plots PSDs. rooteig Uses the eigenvector method in computing the root music algorithm. rootmusic Computes the root music algorithm. 13 New Features Function Description schurrc Computes reflection coefficients from an autocorrelation sequence. udecode Decodes 2n-level quantized integer inputs to floating-point outputs. uencode Quantizes and encodes floating-point inputs to integer outputs. Documentation Updates The documentation for these functions has been updated: • dpss • dpssload • freqz 14 Products Introduced Between Release 11 and Release 11.1 Products Introduced Between Release 11 and Release 11.1 This section briefly describes products that were released (via the Web) after Release 11, but before Release 11.1. Those products include: • MATLABC/C++ Graphics Library • Data AcquisitionToolbox • GARCH Toolbox MATLAB C/C++ Graphics Library The MATLAB C/C++ Graphics Library is a collection of more than 100 MATLAB graphics routines distributed as a single library. The graphics library makes the visualization and GUI-building routines of MATLAB available to stand-alone C and C++ applications. A stand-alone C or C++ application is an executable program that can run independently of the MATLAB interpreted environment. Stand-alone applications are a convenient way to package and distribute a customized MATLAB application. Using this library, in conjunction with the MATLAB Compiler and the MATLAB C/C++ Math Library, you can create stand-alone applications from M-files that use lines, text, meshes, and polygons as well as interactive GUI components such as menus, push buttons, and dialog boxes. Note You must use the MATLAB Compiler to create C or C++ stand-alone graphics applications. Calling MATLAB C/C++ Graphics Library routines directly from a C or C++ source module is not supported. 15 New Features The Data Acquisition Toolbox The Data Acquisition Toolbox is a collection of M-file functions and MEX-file dynamic link libraries (DLL’s) built on the MATLAB technical computing environment. The toolbox provides: • A framework for bringing live, measured data into MATLAB • Support for analog input, analog output, and digital I/O subsystems • Single- and multichannel acquisitions • A consistent and flexible command line interface that exposes the unique features of all supported hardware The supported hardware and major toolbox features are described below. Supported Hardware The toolbox supports these hardware devices: • National Instruments Data Acquisition E-Series and 1200-Series boards • Hewlett-Packard Company VXI E1432/33/34-Series hardware • Microsoft Windows multimedia sound cards • Additional third-party hardware You can view a complete list of all supported hardware devices at http://www.mathworks.com/products/daq/hardware.shtml Toolbox Features Object Based Design. Based on MATLAB's object technology, the toolbox provides functions for creating device objects directly associated with your hardware. Device objects provide a gateway to all of the hardware's functionality and allow you to control the behavior of your acquisition. You can create device objects for analog input, analog output, and digital I/O subsystems. For example, an analog input object created in MATLAB contains all the necessary parameters for executing any supported analog input task. 16 Products Introduced Between Release 11 and Release 11.1 Data Management. Functions are provided for previewing and extracting your data for analysis. The toolbox streams data into MATLAB in double precision floating-point format or native hardware format. This gives you the ability to work with the data just as you would any other matrix in MATLAB. Data Logging. Functions are available for logging data to disk, memory, or both while an analog input object is running. Events and Actions. In general, data acquisition tasks are initiated based on events. An event occurs at a specific time after a condition is met. Some of the event types supported by the Data Acquisition Toolbox include: start and stop events, triggers, number of samples acquired, number of samples output, and errors. Events may result in one or more actions. For example, all the event types mentioned above have the action of calling an associated property, which in turn can execute an M-file function that you specify. Error Handling. A consistent set of error and warning messages are sent back to the MATLAB workspace by the toolbox when an error is encountered. If a hardware error message is encountered that is not handled by the toolbox, an “external error” is reported along with the vendor-specific hardware error message. Conversion to Engineering Units. The toolbox automatically converts acquired data into values that represent specific engineering units (e.g., volts, Newtons, etc.). Use of linear scaling and offsets is supported directly by the toolbox. In addition, any nonlinear calibration curve may be applied using MATLAB. You can set engineering unit conversions for each channel of data. Acquisition Status Evaluation. You can evaluate the status of your acquisition and the available data acquisition resources at any time using functions provided by the toolbox. Data acquisition resources include installed hardware, hardware drivers, and hardware driver adaptors. 17 New Features GARCH Toolbox The GARCH Toolbox provides essential tools for univariate Generalized Autoregressive Conditional Heteroskedasticity (GARCH) volatility modeling of economic time series. It uses a general ARMAX/ GARCH composite model to perform simulation, forecasting, and parameter estimation of financial time series in the presence of conditional heteroskedasticity. 18 Products Introduced in Release 11.1 Products Introduced in Release 11.1 This section briefly describes products that are being introduced with Release 11.1. Those products are: • Dials & Gauges Blockset • Financial Time Series Toolbox • Quantized Filtering Toolbox • xPC Target Dials & Gauges Blockset The Dials & Gauges Blockset supplies realistic, instrument-like user interface controls for Simulink blocks. With this model-based instrumentation, you can add graphical instruments directly to your model, using them as you would use blocks from the Sources and Sinks libraries. The instrumentation is based on ActiveX technology and is available on Microsoft Windows platforms. Financial Time Series Toolbox The MATLAB Financial Time Series Toolbox contains a collection of tools for the analysis of time series data in the financial markets. The toolbox extends the capabilities of MATLAB by providing a date-aware time series object. The object simplifies the manipulation, cleanup, and preparation of financial data, so that finance professionals can take full advantage of MATLAB’s graphics, built-in numerics, and special-purpose toolboxes. Quantized Filtering Analysis Toolbox The Quantized Filtering Toolbox is a new product for filtering and bit-true analysis using fixed-point or custom-precision floating-point arithmetic for a wide range of precisions. 19 New Features You can use this toolbox to: • Construct quantized filters • Analyze the responses of quantized filters • Filter data Relationship To Other Products The Quantized Filtering Toolbox is built on top of the MATLAB computing environment and the Signal Processing Toolbox. You must have the Signal Processing Toolbox in order to use it. xPC Target and xPC Target Embedded Option xPC Target and its add-on product xPC Target Embedded Option are products from The MathWorks for use with Real-Time Workshop®. It is a host-target PC solution for prototyping, testing, and deploying real-time systems. In this environment you use your desktop PC as a host computer with MATLAB, Simulink, and Real-Time Workshop to create models, run simulations, and generate code. You then use a second PC-compatible system as a target computer where the generated code runs in real time. The target PC can be: • A desktop PC • An industrial PC, including PC/104, CompactPCI, and single board computers The major features of the xPC Target software are the ability to: • Design and build the target application on a host PC. • Execute and control the target application on a target PC with signal monitoring and parameter tuning. • Use inexpensive hardware for the target computer and I/O boards. • Deploy real-time systems with the add-on product xPC Embedded Option. 20 Products Introduced in Release 11.1 Note xPC Target requires a host PC, target PC, and either the Watcom C/C++ compiler or Microsoft Visual C/C++ compiler. For I/O, your target PC must also have I/O boards supported by xPC Target. 21 New Features 22
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement