外國人開發的電磁時域有限差分方法工具包
Electromagnetic Finite-Difference Time-Domain (EmFDTD)
is a basic two-dimensional FDTD code developed at the
School of Electrical Engineering, Sharif University of
Technology.
This code has been written based on the standard
Yee s FDTD algorithm. Applications include propagation,
scattering, and diffraction of electromagnetic waves
in homogeneous and non-homogeneous isotropic media
for in-plane propagating waves. Negative permittivites
or permeabilities as well as dispersion is not included.
Zero, Periodic, and Perfectly Matched Layer boundary
conditions may be selectively applied to the solution
domain.
The program is best suited for study of propagation and
diffraction of electromagnetic waves in Photonic Crystal
structures.
EmFDTD is written in MATLAB language and has been
tested under MATLAB 5.0 and higher versions.
The inverse of the gradient function. I ve provided versions that work on 1-d vectors, or 2-d or 3-d arrays. In the 1-d case I offer 5 different methods, from cumtrapz, and an integrated cubic spline, plus several finite difference methods.
In higher dimensions, only a finite difference/linear algebra solution is provided, but it is fully vectorized and fully sparse in its approach. In 2-d and 3-d, if the gradients are inconsistent, then a least squares solution is generated
Boost provides free peer-reviewed portable C++ source libraries.
We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
We aim to establish "existing practice" and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are already included in the C++ Standards Committee s Library Technical Report (TR1) as a step toward becoming part of a future C++ Standard. More Boost libraries are proposed for the upcoming TR2.
Boost works on almost any modern operating system, including UNIX and Windows variants. Follow the Getting Started Guide to download and install Boost. Popular Linux and Unix distributions such as Fedora, Debian, and NetBSD include pre-built Boost packages. Boost may also already be available on your organization s internal web server.
MATLAB Code for Optimal Quincunx Filter
Bank Design
Yi Chen
July 17, 2006
This file introduces the MATLAB code that implements the two algorithms (i.e., Algorithms
1 and 2 in [1], or Algorithms 4.1 and 4.2 in [2]) used for the construction of
quincunx filter banks with perfect reconstruction, linear phase, high coding gain, certain
vanishing moments properties, and good frequency selectivity. The code can be
used to design quincunx filter banks with two, three, or four lifting steps. The SeDuMi
Matlab toolbox [3] is used to solve the second-order cone programming subproblems
in the two algorithms, and must be installed in order for this code to work.
H.264/AVC, the result of the collaboration between the ISO/IEC
Moving Picture Experts Group and the ITU-T Video Coding
Experts Group, is the latest standard for video coding. The goals
of this standardization effort were enhanced compression efficiency,
network friendly video representation for interactive
(video telephony) and non-interactive applications (broadcast,
streaming, storage, video on demand). H.264/AVC provides
gains in compression efficiency of up to 50% over a wide range
of bit rates and video resolutions compared to previous standards.
Compared to previous standards, the decoder complexity
is about four times that of MPEG-2 and two times that of
MPEG-4 Visual Simple Profile. This paper provides an overview
of the new tools, features and complexity of H.264/AVC.
measure through
the cross-entropy of test data. In addition,
we introduce two novel smoothing techniques,
one a variation of Jelinek-Mercer
smoothing and one a very simple linear interpolation
technique, both of which outperform
existing methods.
Batch version of the back-propagation algorithm.
% Given a set of corresponding input-output pairs and an initial network
% [W1,W2,critvec,iter]=batbp(NetDef,W1,W2,PHI,Y,trparms) trains the
% network with backpropagation.
%
% The activation functions must be either linear or tanh. The network
% architecture is defined by the matrix NetDef consisting of two
% rows. The first row specifies the hidden layer while the second
% specifies the output layer.
%
% Train a two layer neural network with the Levenberg-Marquardt
% method.
%
% If desired, it is possible to use regularization by
% weight decay. Also pruned (ie. not fully connected) networks can
% be trained.
%
% Given a set of corresponding input-output pairs and an initial
% network,
% [W1,W2,critvec,iteration,lambda]=marq(NetDef,W1,W2,PHI,Y,trparms)
% trains the network with the Levenberg-Marquardt method.
%
% The activation functions can be either linear or tanh. The
% network architecture is defined by the matrix NetDef which
% has two rows. The first row specifies the hidden layer and the
% second row specifies the output layer.
Train a two layer neural network with a recursive prediction error
% algorithm ("recursive Gauss-Newton"). Also pruned (i.e., not fully
% connected) networks can be trained.
%
% The activation functions can either be linear or tanh. The network
% architecture is defined by the matrix NetDef , which has of two
% rows. The first row specifies the hidden layer while the second
% specifies the output layer.