Matlab的logo是怎么来的? L形区域上的波动方程的解
2016-02-01 15:02
716 查看
下面是mathworks的头儿Cleve Moler写的文章
"L形区域上波动方程的特征函数"
不过, 我打算稍后用Mathematica新增加的功能来计算这个结果, 我看到这里提到mathematica的文档中已经添加了解决类似问题的例子.
注意到这还只是线性的偏微分方程,如果问题复杂一些,可能要手动完成很多转换工作,才能实现求解.
Wolfram你要加油,努力吧
We hope you’ve seen it many times. It’s on the covers of our books. It’s on our business cards and stationery. It’s even on a “sponsor a highway” sign on Route 9 in Natick,Massachusetts. But, do you really know what the logo is?
I’m talking about the L-shaped membrane.We’ve used various pictures of it ever since The MathWorks was founded almost twenty years ago, but it only recently became the official company logo. I’d like to tell you about its mathematical background.
The wave equation is a fundamental model in mathematical physics that describes how a disturbance travels through matter. If t is time and x and y are spatial coordinates with the units chosen so that the wave propagation speed is equal to one, then the
amplitude of a wave satisfies the partial differential equation
Periodic time behavior gives solutions of the form
The quantities λ are the eigenvalues and the corresponding functions
v(x,y) are the eigenfunctions or modes of vibration. They are determined by the physical properties, the geometry, and the boundary conditions of each particular situation. Any solution to the wave equation can be expressed as a linear
combination of these eigenfunctions. The square roots of the eigenvalues are resonant frequencies. A periodic external driving force at one of these frequencies will generate an unboundedly strong response in the medium.
Click on image to see enlarged view.
The L-shaped region formed from three unit squares is interesting for several reasons. It is one of the simplest geometries for which solutions to the wave equation cannot be expressed analytically, so numerical computation is necessary. The 270º nonconvex
corner causes a singularity in the solution.Mathematically, the gradient of the first eigenfunction is unbounded near the corner. Physically, a membrane stretched over such a region would rip at the corner. This singularity limits the accuracy of finite difference
methods with uniform grids.
Click on images to see enlarged view.
A ridged microwave waveguide-to-coax adapter and a contour plot of the electric field in the active region. Notice that one-fourth of the H-shaped channel is L-shaped. (Image courtesy of Advanced Technical Materials, Inc., www.atmmicrowave.com)
The simple physical situations involving waves on an L-shaped region include a vibrating L-shaped membrane, or tambourine, and a beach towel blowing in the wind, constrained by a picnic basket on onefourth of the towel. A more practical example involves
microwave waveguides. One such device is a waveguide-to-coax adapter. The active region is the channel with the H-shaped cross section visible at the end of the adapter. The ridges increase the bandwidth of the guide at the expense of higher attenuation and
lower power-handling capability. Symmetry about the dotted lines in the contour plot of the electric field in the channel implies that only one-quarter of the cross section needs to be modeled and that the resulting geometry is our L-shaped region. The boundary
conditions are not the same as the membrane problem, but the differential equation and the solution techniques are the same.
You can use classic finite difference methods to compute the eigenvalues and eigenfunctions of the L-shaped membrane in MATLAB with
n = 200
h = 1/n
A = delsq(numgrid('L',2*n+1))/h^2
lambda = eigs(A,12,0)
The resulting sparse matrix
eigenvalues to be accurate to only three or four significant digits. If you try for more accuracy with a finer mesh and a larger matrix, you soon exceed half a gigabyte of main memory.
For the L-shaped membrane and similar problems, a technique using analytic solutions to the underlying differential equation is much more efficient and accurate than finite difference methods. The building blocks are the fractional order Bessel functions
and trig functions that yield eigenfunctions of circular sectors. Remember Pac-Man? How would Pac-Man vibrate? This simple graphics character from one of the earliest video games provides a two-dimensional test domain. When he was not chomping ghosts, Pac-Man
was three-quarters of the unit disc.With polar coordinates r and θ, and parameters
α and λ, the eigenfunctions of a circular sector are
The eigenvalues are determined by the requirement that θ = 0 vanish on the boundary of the sector. For Pac-Man, the straight edges have
v(r,θ) and θ = 3π/2, so we can satisfy the boundary conditions on these edges by choosing α to be an integer multiple of two-thirds,
The circular portion of the boundary has r = 1, so we can satisfy the boundary conditions on the circle by taking
λ to be a square of a zero of a Bessel function,
Contour plots of the first six eigenfunctions show that two are symmetric about the center line,
θ = 3π/4 two are antisymmetric about the center line, and two are eigenfunctions of the quarter disc, reflected twice to fill out the entire region. Linear combinations of these circular sector basis functions provide accurate approximations to the
eigenvalues and eigenfunctions of other regions with corners. Let
These functions are exact solutions to the eigenvalue differential equation. They also satisfy the boundary conditions on the two edges that meet at the origin. All that remains is to pick
λ and the cj ’s so that the boundary conditions on the remaining edges are satisfied.
A least squares approach employing the matrix singular value decomposition is used to determine
λ and the cj ’s. Pick m points, riθi on the remaining edges of the boundary. Let
n be the number of fundamental solutions to be used. Define an m-by-n matrix
A with elements that depend upon λ,
Then, for any vector c, the vector Ac is the vector of boundary values,
v(riθi). We want to make ||Ac||small without making ||c|| small. The SVD does this job. Let
σn(A(λ)) denote the smallest singular value of the matrix
A(λ) and let λk denote the values of (λ) that produce local minima of the smallest singular value,
Each (λ)k approximates an eigenvalue of the region. The
n-th column of the corresponding matrix V from the singular value decomposition provides the coefficient vector
c for the linear combination.
The MATLAB function
center line; the second and fourth are antisymmetric about the center line; and the third is actually the first eigenfunction of a unit square, reflected into the other two squares.
The MATLAB function
in the sum. This artistic license gives the edge of the logo a more interesting, curved shape.
Click on images to see enlarged view.
First six eigenfunctions of three-quarters of the disc.
Click on images to see enlarged view.
First six eigenfunctions of the L-shaped domain.
"L形区域上波动方程的特征函数"
不过, 我打算稍后用Mathematica新增加的功能来计算这个结果, 我看到这里提到mathematica的文档中已经添加了解决类似问题的例子.
注意到这还只是线性的偏微分方程,如果问题复杂一些,可能要手动完成很多转换工作,才能实现求解.
Wolfram你要加油,努力吧
The MathWorks Logo is an Eigenfunction of the Wave Equation
By Cleve Moler, MathWorksWe hope you’ve seen it many times. It’s on the covers of our books. It’s on our business cards and stationery. It’s even on a “sponsor a highway” sign on Route 9 in Natick,Massachusetts. But, do you really know what the logo is?
I’m talking about the L-shaped membrane.We’ve used various pictures of it ever since The MathWorks was founded almost twenty years ago, but it only recently became the official company logo. I’d like to tell you about its mathematical background.
The wave equation is a fundamental model in mathematical physics that describes how a disturbance travels through matter. If t is time and x and y are spatial coordinates with the units chosen so that the wave propagation speed is equal to one, then the
amplitude of a wave satisfies the partial differential equation
Periodic time behavior gives solutions of the form
The quantities λ are the eigenvalues and the corresponding functions
v(x,y) are the eigenfunctions or modes of vibration. They are determined by the physical properties, the geometry, and the boundary conditions of each particular situation. Any solution to the wave equation can be expressed as a linear
combination of these eigenfunctions. The square roots of the eigenvalues are resonant frequencies. A periodic external driving force at one of these frequencies will generate an unboundedly strong response in the medium.
Click on image to see enlarged view.
The L-shaped region formed from three unit squares is interesting for several reasons. It is one of the simplest geometries for which solutions to the wave equation cannot be expressed analytically, so numerical computation is necessary. The 270º nonconvex
corner causes a singularity in the solution.Mathematically, the gradient of the first eigenfunction is unbounded near the corner. Physically, a membrane stretched over such a region would rip at the corner. This singularity limits the accuracy of finite difference
methods with uniform grids.
Click on images to see enlarged view.
A ridged microwave waveguide-to-coax adapter and a contour plot of the electric field in the active region. Notice that one-fourth of the H-shaped channel is L-shaped. (Image courtesy of Advanced Technical Materials, Inc., www.atmmicrowave.com)
The simple physical situations involving waves on an L-shaped region include a vibrating L-shaped membrane, or tambourine, and a beach towel blowing in the wind, constrained by a picnic basket on onefourth of the towel. A more practical example involves
microwave waveguides. One such device is a waveguide-to-coax adapter. The active region is the channel with the H-shaped cross section visible at the end of the adapter. The ridges increase the bandwidth of the guide at the expense of higher attenuation and
lower power-handling capability. Symmetry about the dotted lines in the contour plot of the electric field in the channel implies that only one-quarter of the cross section needs to be modeled and that the resulting geometry is our L-shaped region. The boundary
conditions are not the same as the membrane problem, but the differential equation and the solution techniques are the same.
You can use classic finite difference methods to compute the eigenvalues and eigenfunctions of the L-shaped membrane in MATLAB with
n = 200
h = 1/n
A = delsq(numgrid('L',2*n+1))/h^2
lambda = eigs(A,12,0)
The resulting sparse matrix
Ahas order 119201 and 594409 nonzero entries. The
eigsfunction uses Arnoldi’s method from the MATLAB implementation of ARPACK to compute the first 12 eigenvalues. This takes only a little over a minute on a 1.4 GHz Pentium laptop. However, the corner singularity causes the computed
eigenvalues to be accurate to only three or four significant digits. If you try for more accuracy with a finer mesh and a larger matrix, you soon exceed half a gigabyte of main memory.
For the L-shaped membrane and similar problems, a technique using analytic solutions to the underlying differential equation is much more efficient and accurate than finite difference methods. The building blocks are the fractional order Bessel functions
and trig functions that yield eigenfunctions of circular sectors. Remember Pac-Man? How would Pac-Man vibrate? This simple graphics character from one of the earliest video games provides a two-dimensional test domain. When he was not chomping ghosts, Pac-Man
was three-quarters of the unit disc.With polar coordinates r and θ, and parameters
α and λ, the eigenfunctions of a circular sector are
The eigenvalues are determined by the requirement that θ = 0 vanish on the boundary of the sector. For Pac-Man, the straight edges have
v(r,θ) and θ = 3π/2, so we can satisfy the boundary conditions on these edges by choosing α to be an integer multiple of two-thirds,
The circular portion of the boundary has r = 1, so we can satisfy the boundary conditions on the circle by taking
λ to be a square of a zero of a Bessel function,
Contour plots of the first six eigenfunctions show that two are symmetric about the center line,
θ = 3π/4 two are antisymmetric about the center line, and two are eigenfunctions of the quarter disc, reflected twice to fill out the entire region. Linear combinations of these circular sector basis functions provide accurate approximations to the
eigenvalues and eigenfunctions of other regions with corners. Let
These functions are exact solutions to the eigenvalue differential equation. They also satisfy the boundary conditions on the two edges that meet at the origin. All that remains is to pick
λ and the cj ’s so that the boundary conditions on the remaining edges are satisfied.
A least squares approach employing the matrix singular value decomposition is used to determine
λ and the cj ’s. Pick m points, riθi on the remaining edges of the boundary. Let
n be the number of fundamental solutions to be used. Define an m-by-n matrix
A with elements that depend upon λ,
Then, for any vector c, the vector Ac is the vector of boundary values,
v(riθi). We want to make ||Ac||small without making ||c|| small. The SVD does this job. Let
σn(A(λ)) denote the smallest singular value of the matrix
A(λ) and let λk denote the values of (λ) that produce local minima of the smallest singular value,
Each (λ)k approximates an eigenvalue of the region. The
n-th column of the corresponding matrix V from the singular value decomposition provides the coefficient vector
c for the linear combination.
The MATLAB function
membraneuses an older version of this algorithm to compute eigenfunctions of the L-shaped membrane. Contour plots of the first six eigenfunctions show that the first, fifth, and sixth are symmetric about the
center line; the second and fourth are antisymmetric about the center line; and the third is actually the first eigenfunction of a unit square, reflected into the other two squares.
The MATLAB function
logogenerates our company logo, a lighted, reflective, surface plot of a variant of the first eigenfunction. After being so careful to satisfy the boundary conditions, the logo uses only the first two terms
in the sum. This artistic license gives the edge of the logo a more interesting, curved shape.
Click on images to see enlarged view.
First six eigenfunctions of three-quarters of the disc.
Click on images to see enlarged view.
First six eigenfunctions of the L-shaped domain.
相关文章推荐
- Matlab 脚本编译成dll被c++调用
- Matlab图像处理系列1———线性变换和直方图均衡
- MATLAB实现图像配准
- [转载]MATLAB读取音频文件并进行音频特征提取
- MATLAB随机数:重启后结果一样解决方法
- Matlab中dir使用中遇到的一些问题
- 关于高斯滤波器的一些疑问
- 关于MATLAB2014b不能并行计算的原因及解决方法
- matlab中fix, floor, ceil, round 函数的使用方法
- 关于MATLAB中conv()卷积结果的长度的探讨
- Poisson image editing算法实现的Matlab代码解析
- Matlab---串口操作---数据採集篇
- win10 下运行 matlab7.0 出错的问题解决办法
- matlab-code folding功能 将某些行的代码折叠起来方便查看
- Matlab启动时自动运行某个脚本 (即某个.m文件)
- Matlab引用第三方包
- matlab(Simulink)中S-function函数编写规则
- 关于matlab GUI 的一些总结
- [MATLAB] Matlab hints for Machine Learning by Anderw Ng
- matlab使用lsqcurvefit函数出现 lsqcurvefit at 253 Function value and YDATA sizes are incommensurate.