科学网

 找回密码
  注册

tag 标签: filter

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

[转载]VTK安装配置教程
dutren 2011-11-17 19:45
VTK安装配置教程 2008-07-02 21:07 原文地址: Trace of the sunshin 新地址: http://caswei.blog.163.com/ 本文在CadCaeCam论坛的精华贴" VTK安装三步曲 "的基础上完成,并补充了在其之外遇到的各种问题。 本文以VC6为例,要用VS.NET 2005的请参见:在 Visual Studio 2005环境下安装VTK教程 (已测试通过) 1. 必须要下载的东西,VC6已经装好为前提: vtk-5.0.4-win32.exe 安装程序 http://vtk.org 的Download vtk-5.0.4.zip 源程序 vtkdata-5.0.4.zip 数据 vtkDocHtml VTK手册(可选) cmake-2.4.7-win32-x86.exe http://www.cmake.org/HTML/Index.html 2. 先执行 vtk-5.0.3-win32.exe安装到C:\VTK 5.0, 安装后会产生 vtk5.0 文件夹里面还包括 bin 等子文件夹。 (为了方便请统一用这个目录,我在后文中提供了一个教程,其project setting也是按这个目录配置的) 3. 将 vtk-5.0.4.zip 解压到c:\VTK 5.0\VTK, 将vtkdata-5.0.4.zip也解压到c:\VTK 5.0\vtkdata (其实既然要用源文件编译,windows install的安装并不是必须的,但这是按"VTK安装三步曲"的顺序来的,很多人都统一这样用的,避免不必要的麻烦,也就不改了) 4. 安装 cmake-2.4.7-win32-x86.exe,方便起见装到c:\cmake。运行cmake,设置sourse code目录为c:\vtk5.0\VTK\, build目录为c:\vtk5.0\bin\ 按 configure 按钮,cmake 软件会让你选择需要使用的编译器,这里我们选vc6.0,然后cmake会描所需要的文件,停下来之后,我们就可以修改 cmake选项了。 打开Show Advanced Values再configure,才可以看到一个vtk_use_guisupport,打开它,才能选vtk_use_mfc,再configure,configure的次数是无所谓的。 很多人把 vtk 安装好了,却无法运行vtk 中与mfc 混合编程的例子,提示错误都是缺少vtkmfc.lib,问题就出在这个选项,我们必须把它设置为 on。 至于vtk_use_qvtk,这是给QT用的vtk,但目前只支持QT3,现在的版本是QT4,我试过了,cmake通不过。只能等着新版cmake了。 还有要注意的就是: vtk_data_root: 目的是告诉cmake,vtk 需要的数据都在哪里,我们的数据在c:\vtk\vtkdata\ cmake_install_prefix: 这个是指定一个目录把.h .lib .dll等精华放在这里,"VTK安装三步曲"里说是为将来装vtk做准备,我不太清楚,反正用它默认的就好了。 build_examples: 就是询问是否编译 vtk 中的例子,你在看这个教程,说明肯定是初次用VTK,建议选上。 build_shared_libs: 如果设置为off,就只会生成lib 文件,用于开发肯定是够了。如果设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。如果用静态库编程,即off时,应用程序可以独立运行,尺寸也比较大,如果用动态库编程, 即on时,应用程序必须找到动态库才能运行,但尺寸可以做得比较小。建议选On, 我试过选OFF,所谓的静态编译,但之后新建一个项目时,还是会出现找不到文件的问题。 vtk_use_parallel: 对于想用vtk 做并行计算的朋友,要把这个选上,对于只想学学vtk 的,保持默认 off 都没问题了所有项目会变成灰色。这时就可以按OK了,几秒钟后,cmake自动退出,为VC6准备的make文件已经生成好。 5. 用 vc6.0打开 bin目录下的 vtk.dsw 文件,直接build。这一般要花掉十几分钟。结果保存在c:\vtk5.0\bin\bin 。 如果这个过程报错,可能是防火墙、杀毒软件的原因,请关掉再试。还有就是, 我曾经试图在机器上先给VS2005再给VC6装VTK,结果VC6编译时就死在example那里了。最后只能删掉所有vtk目录从第一步再来一遍,only for VC6才通过的。 顺利通过编译就可以继续了。 6. 第4步时build_shared_libs是ON的话,把C:\VTK 5.0\bin\bin\Debug里生成的dll文件都拷到windows/system目录下。 7. 试一下。打开C:\VTK 5.0\bin\Examples\All\VTKExamples.dsw, 选择Cone项目,右键set as active project(VC不熟的人一定要记得这个!) ,然后,build,run. 这时应该能正确运行了。 8. 但还没完。这时能运行的只是vtk自己带的项目,自建的项目还需要自己进行一些设定: 新建一记事本, 一定要取消自动换行 。把下面的 "三大步" copy进去,确保每一步都在一行,以后会经常用到的: 一、修改Project setting-C/C++ -Category-Preprocessor-Additional include directories: C:\VTK 5.0\VTK\GenericFiltering,C:\VTK 5.0\VTK\Common,C:\VTK 5.0\VTK\IO,C:\VTK 5.0\VTK\Filtering,C:\VTK 5.0\bin,C:\VTK 5.0\VTK\Rendering,C:\VTK 5.0\VTK\Graphics,C:\VTK 5.0\VTK\VolumeRendering,C:\VTK 5.0\VTK\Imaging,C:\VTK 5.0\VTK\Hybrid,C:\VTK 5.0\VTK\GUISupport,C:\VTK 5.0\VTK\include\vtk-5.0,C:\VTK 5.0\VTK\Parallel,C:\VTK 5.0\VTK\lib,C:\VTK 5.0\VTK\Widgets 二、修改Project setting-Link-Input-Object/library modules: opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib 三、还有Additional library path: C:\VTK 5.0\bin\bin\Debug 像Cannot open include file: 'vtkConeSource.h':这样的错误都是上面三大步没走对或dll没拷到windows/system下造成的。要建立新项目,必须重新配置 三大步,因为那三步都是Project setting里的,新项目没有默认这些设置。 如果某个项目再提示缺什么lib或.h的话,再临时加上去就行了。 9. 这时新建一个project, win32 console application, an empty project, 生成后给source files加一个test.cpp,把下面的代码放进去: #include " vtkConeSource.h " #include " vtkPolyDataMapper.h " #include " vtkRenderWindow.h " #include " vtkCamera.h " #include " vtkActor.h " #include " vtkRenderer.h " #include " vtkProperty.h " int main() { vtkConeSource * cone = vtkConeSource::New(); cone - SetHeight( 3.0 ); cone - SetRadius( 1.0 ); cone - SetResolution( 10 ); vtkPolyDataMapper * coneMapper = vtkPolyDataMapper::New(); coneMapper - SetInputConnection( cone - GetOutputPort() ); vtkActor * coneActor = vtkActor::New(); coneActor - SetMapper( coneMapper ); vtkRenderer * ren1 = vtkRenderer::New(); ren1 - AddActor( coneActor ); ren1 - SetBackground( 0.1 , 0.2 , 0.4 ); vtkRenderWindow * renWin = vtkRenderWindow::New(); renWin - AddRenderer( ren1 ); renWin - SetSize( 300 , 300 ); int i; for (i = 0 ; i 360 ; ++ i) { renWin - Render(); ren1 - GetActiveCamera() - Azimuth( i ); } cone - Delete(); coneMapper - Delete(); coneActor - Delete(); ren1 - Delete(); renWin - Delete(); return 0 ; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 打开自己的CMake 查看到到配置如下: VTK_DIR:D:/VTK/bin Cmake_Install_prefix:D:/Program Files/vtk/lib/vtk-5.0 另外我的vtk安装路径为:D:\VTK\vtk-5.0.4 此为上文中队应的 vtksrc 所以在我的VC中配置的环境为 附加库路径 D:\VTK\bin\bin\$(IntDir),D:\VTK\bin\bin 对象库模块 vtkRendering.lib vtkGraphics.lib vtkImaging.lib vtkIO.lib vtkFiltering.lib vtkCommon.lib vtksys.lib vtkDICOMParser.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vfw32.lib vtkftgl.lib vtkfreetype.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 附加包含路径 D:\VTK\bin,D:\VTK\bin\Utilities,D:\VTK\bin\VolumeRendering,D:\VTK\bin\Rendering,D:\VTK\vtk-5.0.4\VolumeRendering,D:\VTK\vtk-5.0.4\Hybrid,D:\VTK\vtk-5.0.4\Widgets,D:\VTK\vtk-5.0.4\Rendering,D:\VTK\vtk-5.0.4\Rendering\Testing\Cxx,D:\VTK\vtk-5.0.4\IO,D:\VTK\vtk-5.0.4\Imaging,D:\VTK\vtk-5.0.4\Graphics,D:\VTK\vtk-5.0.4\GenericFiltering,D:\VTK\vtk-5.0.4\Filtering,D:\VTK\vtk-5.0.4\Common,D:\VTK\vtk-5.0.4\Utilities,D:\VTK\vtk-5.0.4\Common\Testing\Cxx,D:\VTK\bin\Utilities\DICOMParser,D:\VTK\vtk-5.0.4\Utilities\DICOMParser,D:\VTK\bin\Utilities\vtkfreetype\include,D:\VTK\vtk-5.0.4\Utilities\vtkfreetype\include,D:\VTK\bin\Utilities\vtknetcdf,D:\VTK\vtk-5.0.4\Utilities\vtknetcdf,D:\VTK\bin\Utilities\vtkexodus2\include,D:\VTK\vtk-5.0.4\Utilities\vtkexodus2\include,D:\VTK\vtk-5.0.4\GUISupport\MFC 注意以上用记事本,取消自动换行,然后复制进入,在复制到VC相应目录下,以上每次在创建新工程的时候都要重新复制进入。 另外,在“工具—选项—目录”中设置好 VC98中的库文件情况。包括OpengGL和MFC等
4797 次阅读|0 个评论
[转载]中国期刊网CNKI可以提供页码filter教程
doudoufsh 2011-11-1 21:17
像各位推广此方法,很好用 http://emuch.net/bbs/viewthread.php?tid=515375 各位从期刊网导入endnote中文献没有页码的问题,现在可以解决了,在知网上下载endnote时选择“查新”格式,然后参看上述网址提供的教材和下载filter就可以了!
2525 次阅读|0 个评论
[转载]构成宇宙的双螺旋结构分析(二)
jinkai719 2011-10-29 09:20
太阳磁场涡流 能量变化在我们整个太阳系 电磁 太阳系漩涡 1880年太阳蛇形涡 1太阳, 2水星, 3金星,4 地球, 5 火星, 6 木星, 7 土星, 8 天王星, 9海王星, 10 冥王星。 太阳系螺旋上升 螺旋-----一个动态的太阳系 月球绕地球螺旋路径 地球与行星可见光(晚)不存在尾巴和无形 太阳 地球 月球 太阳与地球真实轨迹 拍摄周期为十天一次,拍摄一年 行星地球与它的大气尾巴 天体运动 30 °弧 曝光,330 °夜空 迁移路线 玛雅和地球 在2012年12月21日穿越我们的银河系黄道 科学家仍然不明白土星北极的六边形漩涡是如何形成的 海王星极地漩涡 天王星 太阳和行星涡解释沃尔特罗素1927年 1953年 埃舍尔的浑天仪 地球行星涡流 行星涡 北极等离子漩涡 地球两极极地涡流 极光是电子漩涡形成的 我们的大气层电现像 地球的极光 地球的电场 飓风 水龙卷螺旋 河流涡 涡流量 我们的心脏涡型 Schauberger的木水管涡 自制的涡流
3070 次阅读|0 个评论
[转载]C++中各大有名的科学计算库
appleyf 2011-10-24 09:17
C++中各大有名的科学计算库【转帖】 2011-01-13 15:14 在 C ++中,库的地位是非常高的。 C ++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中, C ++的库门类繁多,解决 的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并 不了解。所以文中所提的一些库都是比较著名的大型库。 C ++各大有名库的介绍——科学计算 1、Blitz++ 参考网站: http://www.oonumerics.org/blitz Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像 C ++ 一样方便,同时又比Fortran速度更快的数值计算环境。通常,用 C ++所写出的数值程序, 比 Fortran慢20%左右,因此Blitz++正是要改掉这个缺点。方法是利用 C ++的template 技术,程序执行甚至可以比Fortran更快。 Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用者可以很容易地利用 Blitz++所提供的函数来构建。 2、POOMA 参考网站: http://www.codesourcery.com/pooma/pooma POOMA是一个免费的高性能的 C ++库,用于处理并行式科学计算。POOMA的面向对象设计方便了快速的程 序开发,对并行机器进行了优化以达到最高的效率,方便在工业和研究环境中使用。 3、 MTL 参考网站: http://www.osl.iu.edu/research/ mtl Matrix Template Library ( MTL ) 是一个高性能的泛型组件库,提供了各种格式矩阵的大量线性代数方面的功能。在某些应用使用高性能编译器的情况下,比如Intel的编译器,从产生的汇编代 码可以看出其与手写几乎没有两样的效能。 4、CGAL 参考网站: www.cgal.org Computational Geometry Algorithms Library 的目的是把在计 算几何方面的大部分重要的解决方案和方法以 C ++库的形式提供给工业和学术界的用户。 Intel Math Kernel Library 1.基本线形代数运算(BLAS) 向量与向量、向量与矩阵、矩阵与矩阵的运算 2.稀疏线形代数运算 3.快速傅立叶变换(单精度/双精度)(fftw) 4.LAPACK(求解线形方程组、最小方差、特征值、Sylvester方程等) 5.向量数学库(VML) 6.向量统计学库(VSL) 7.高级离散傅立叶变换 IMSL 软件名称 IMSL C Numerical Library (不兼容vc6 编译器) 程序设计语言 C , Forton, C #, Java 资源网址 http://www.vni.com/ 功能概述 分为统计库和数学库两部分. 数学库包含应用数学和特殊函数.IMSL 程序库 – 已成为数值分析解决方案的工业标准。 IMSL 程序库提供最完整与最值得信赖的函数库。 IMSL 数值程序库提供目前世界上最广泛被使用的 IMSL 算法,有超过 370 验证过、最正确与 thread-safe 的数学与统计程序。 IMSL FORTRAN 程序库提供新一代以 FORTRAN 90 为程序库基础的程序,能展现出最佳化的演算法能力应用于多处理器与其它高效能运算系统。 LAPACK UserGuide: http://www.netlib.org/lapack/lug/lapack_lug.html lapack 软件名称 Linear Algebra Package 程序设计语言 Fortran 77 资源网址 http://www.netlib.org/lapack 功能概述 线性代数计算子程序包 clapack 软件名称 Linear Algebra Package for C 程序设计语言 c/c++ 资源网址 http://www.netlib.org/clapack/ 功能概述 c版的线性代数计算子程序包 如何在Visual Studio 2008中安装CLAPACK http://www.deuxmille.org/archives/1486 lapack++ 软件名称 Linear Algebra Package in c ++ 程序设计语言 c ++ 资源网址 http://math.nist.gov/lapack++/ 功能概述 c ++版的线性代数计算子程序包 BLAS 软件名称 Basic Linear Algebra Subroutines 程序设计语言 Fortran 77 主要开发者 Kagstrom B. ,Ling P. ,Van Loan C . 资源网址 http://www.netlib.org/blas 功能概述 Blas是执行向量和矩阵运算的子程序集合。 uBLAS BLAS in C ++ with expression templates. 表达式模版形式的 C ++ 中的BLAS , gsl 软件名称 GNU Scientific Library (linux) 程序设计语言 C , C ++ compable 资源网址 http://www.gnu.org/software/gsl/ 功能概述 范围广泛, 包括数值分析的常见内容 Blitz++ 软件名称 Blitz++ (不兼容vc6编译器) 资源网址 http://sourceforge.net/project/showfiles.php?group_id=63961 功能概述 The current versions provide dense arrays and vectors, random number generators, and small vectors and matrices.是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像 C ++ 一样方便,同时又比 Fortran 速度更快的数值计算环境。通常,用 C ++ 所写出的数值程序,比 Fortran 慢 20% 左右,因此Blitz++ 正是要改掉这个缺点。方法是利用 C ++ 的 template 技术,程序执行甚至可以比 Fortran 更快。 MTL 软件名称 Matrix Template Library (兼容vc6编 译器) 资源网址 http://www.osl.iu.edu/research/ mtl / 功能概述 The Matrix Template Library ( MTL ) is a high-performance generic component library that provides comprehensive linear algebra functionality for a wide variety of matrix formats. MTL 专注于线性代数相关的计算任务,如各种形式矩阵的生成(对角,共轭,稀疏,对 称等),相关的计算,变换,以及与一维向量的运算。 Armadillo Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS libraries. 资源网址 http://arma.sourceforge.net/ ATLAS The ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK . 资源网址 http://math-atlas.sourceforge.net/ http://www.deuxmille.org/archives/1477
个人分类: 科研笔记|0 个评论
[转载]pvp与pvpp
edisonlou 2011-10-19 18:52
前些日子跟朋友们讨论DNA实验的东西时,突然发现很多东西教科书上也没有比较完善的解释,大多只给出步骤,而实际原理,相关药品特性无从得知。于是找个地方总结一下: 第一次接触pvp是在提取植物DNA时,由于色素太多,导师要加pvp,也没有说原因,加过之后说实话效果不太理想……查过许多资料,现将原理说明如下: 1,首先明白什么是pvp,以及pvpp,pvpA等 聚乙烯基吡咯烷酮(PVP)是由 N2-乙烯基吡咯烷酮(NVP)聚合而成的,如下图所示,主要包括 NVP的均聚物pvpk、共聚物pvpA和交联聚合物pvpp 3 类。 通常说的pvp是指pvpk,商品 PVP是白色或乳白色的粉末固体,其平均分子量一般用 K值表示,K值通常分为 K-15、K-30、K-60、K-90,分别代表1万、4万、16万、36万的分子量范围; 共聚物PVPA是指NVP和醋酸乙烯脂(VAC)的工具产物,应用较多的是PVPA64(又称VA64,指分子内NVP与VAC的质量比为6:4);交链pvpp因其交链形式不同有pvpp凝胶和不溶性pvpp两种。 2.溶解度 这是很难的一个问题,很多资料把NVP的几种多聚体搞混淆了,所以看的我十分矛盾。其实从pvp的结构式不难看出,, 形成链和吡咯烷酮环的亚甲基都是非极性基团, 具有亲油性, 而分子中的内酰胺是强极性基团, 具有亲水作用。这种结构特征使PVP能溶于水和许多有机溶剂, 如烷烃、醇、羧、酸、胺、氯化烃等。不溶于丙醇、乙醚等。另外PVP具有显著的结合能力,可与许多不同的化合物生成络合物。它具有增溶作用,能增加某些基本不溶于水而有药理活性的物质的水溶性;具有分散作用,可使溶液中的有色物质、悬浮液、乳液分散均匀并保持稳定;吸附作用,吸附在许多界面并在一定程度上降低界面表面张力。 低分子量的pvpk可用作增溶剂、分散剂、结晶抑制剂、抗生素悬浮液的稳定剂。难溶于水的药物有效成分,能与pvpk形成粉末或共沉淀而极迅速地溶解,从而提高生物有效度。 pvpA形成的薄膜可在任何ph下溶解、收湿性低、弹性大,在工业上常与纤维素的衍生物制成包衣。 pvpp凝胶(粉末)对多数药物有强的吸附作用,进入胃或血液中后,由于它有极高的溶胀性,使得药物缓慢释放,医药上可作为优良的缓释剂。不溶性pvpp在医药上被人们称为片剂中的“超级崩解剂”之一。它在水中按预定的方式溶胀,将水分吸入,膨胀体积达三倍以上,对片剂有分解作用,能亲水化各种不溶性药物、稳定化各种悬浮剂,具有络合能力以及吸附作用。 3.化学性质 由于PVPP是NVP的交联聚合物,其结构单元中存在类似于蛋白质的内酰胺结构,具有较强的生物相容性和极性。PVPP分子结构中的N原子和O原子上含有孤对电子,能够与活泼氢形成氢键。因此,PVPP吸附络合性的本质,是内酰胺结构中的N原子和O原子,与被吸附物质上的活泼氢形成氢键的化学吸附作用,并且这种形成氢键的化学吸附过程是一种动态可逆过程:PVPP+H-A====PVPP-H-A H-A表示带有活泼氢的被吸附物质。另外,PVPP是一种交联聚合物,不溶解于水,只能在水中溶胀,形成水凝胶结构。其三维网络结构中同时存在自由水和结合水,溶胀之后,其吸附活性点对水凝胶中的结合水达到饱和吸附。在PVPP处理溶液的过程中,原溶液与PVPP水凝胶三维网络结构中的自由水发生交换,原溶液进入PVPP 水凝胶的三维网络中。并且PVPP的分子量充分伸展,与原溶液发生接触。此时,水分子、原溶液中的多酚类物质以及原溶液中的蛋白质均与PVPP吸附活性点发生接触,形成竞争吸附。某种物质与PVPP形成氢键的能力越强,则这种物质在竞争吸附中将占优势,PVPP即显示出这种物质具有吸附选择性。 原溶液中的水、多酚类物质以及蛋白质等均可通过活性氢与PVPP分子结构上的N原子和O原子形成氢键。因此,活性氢上所带的正电荷越多,则形成氢键的能力越强,所形成的氢键也越牢固。分析比较蛋白质和多酚类物质的分子结构不难发现,多酚类物质存在多个苯环,酚羟基上氧原子的孤对p电子可以与苯环上的大π键形成p-π共轭效应,氧原子上的p电子云向π键方向移动,增大了H原子上的正电荷。而蛋白质上的氨基活性氢没有这种共轭效应,故多酚类物质上活性氢的正电荷,比蛋白质上活性氢的正电荷多,PVPP对多酚类物质具有更强的吸附作用。 4.色素成分分类 植物色素(phytochromes)在植物中广泛分布,有脂溶性色素与水溶性色素两类。脂溶性色素多为四萜类衍生物,这类色素不溶于水,难溶于甲醇,易溶于乙醇、乙醚和氯仿等溶剂。常见的脂溶性植物色素有叶绿素、叶黄素、胡萝卜素、番红花素和辣椒红素等。其中胡萝卜素不溶于乙醇。有些色素有一定的生物活性,如叶绿素有一定的抑菌作用。  水溶性色素主要为花色甙类,又称花青素,普遍存在于花中。可溶于水与乙醇,不溶于乙醚与氯仿等有机溶剂,其色泽随pH的不同而改变。  植物色素类常作为杂质除去,如在制备生物制剂或提取有效成分时加水稀释而使叶绿素析出,水溶性色素可用醋酸铅试剂沉淀或活性炭吸附除去。随着科学研究的深入,已发现不少色素具药用价值,如紫草的萘醌类色素能抑菌,红花中的红花红素与红花黄素能活血化瘀与抗氧化,姜黄中的姜黄素(curcumin)能降血脂和抑菌,栀子中的栀子黄色素(gardenin)能抑菌。
个人分类: 相关论文|8341 次阅读|0 个评论
[转载]median filter
stLone19 2011-10-19 04:55
To demonstrate, using a window size of three with one entry immediately preceding and following each entry, a median filter will be applied to the following simple 1D signal: x = So, the median filtered output signal y will be: y = Median = 2 y = Median = Median = 6 y = Median = Median = 6 y = Median = Median = 3 i.e. y = .
0 个评论
review: 不确定近邻的协同过滤推荐算法
jiangdm 2011-10-2 11:50
不确定近邻的协同过滤推荐算法 黄创光,印鉴,汪静,刘玉葆,王甲 计算机学报 ,2010 摘要:   文中围绕传统的协同过滤推荐算法存在的局限性展开研究,提出一种不确定近邻的协同过滤推荐算法 UNCF.根据推荐系统应用的实际情况,对于推荐的每一种场景其实都是不可预先确定的,而文中算法基于 用户以及产品的相似性计算 ,自适应地选择预测目标的近邻对象作为推荐群,同时计算推荐群中推荐把握概率较高的信任子群,最后通过不确定近邻的动态度量方法,来对预测结果进行平衡的推荐.通过实验结果表明,该算法可以有效平衡用户群以及产品群推荐结果所带来的不稳定影响,有效缓解用户评分 数据稀疏 的情况所带来的问题,并在多个实验数据中,提高了推荐系统的预测准确率. 关键词:  不确定近邻;协同过滤;推荐系统;相似性度量;信任子群 1 引言 协同过滤推荐技术的应用: Tapestry 推荐系统中存在 3大问题 : 1)数据稀疏性 2)冷启动 3)可扩展性 改进: 基于最大熵原理,结合搜索工具等 推荐系统研究趋势: 研究个体与个体之间关系的拓展和延伸 当前基于协同过滤的推荐研究:主要是针对用户群对产品群的评分预测 问题:1) KNN 方法:用户群共同使用服务数据稀疏性 2)可信度问题 本文主要的贡献: 1)根据基于用户以及产品的相似性计算,来自适应地选择预测目标的近邻作为推荐群 2)计算推荐群中对预测目标的信任子群 3)结合推荐群和信任子群的基础上,提出一种不确定近邻因子分析度量来计算预测目标的推荐结果 推荐系统: 评价数据库 矩阵   相似性度量方法: 基于用户之间的相似性计算依赖于他们共同评分的产品 (1)标准的余弦相似 (2)修正的余弦相似 (3)相似性度量计算的改良 KNN 协同过滤推荐 协同过滤推荐算法: 群体智能 相似性 1)基于用户协同过滤 user-based collaborative Filter 2) 基于产品协同过滤 Item-based collaborative Filter 本文idea: 从影响的群体之间寻找一个自适应因子,同时为当前对象找到受其影响较大的群体,结合两个群体的近邻对象来共同为当前对象作出预测,比如基于用户或者基于产品 相似度阈值μ和ν:一个计算用户间相似度阈值,另一个计算产品间相似度的阈值 用户的相似性: 相似度 + 两者之间共同评价产品的个数 1) 选择与目标较接近的作为推荐对象 : 计算用户间相似度阈值 and 计算产品间相似度的阈值 2) 从推荐对象选择信任子群: 两者之间共同评价产品的个数 3)不确定近邻因子的协同过滤框架 作者: 不确定近邻的协同过滤推荐算法UNCF (UncertainNeigbor's Collaborative Filtering) idea: 根据不确定的场景,结合用户以及产品的相似性计算,产生一个近邻因子,通过近邻因子去计算基于用户和产品的预测评分并产生推荐 the organization of this paper: 1) 第2节给出问题定义以及协同过滤领域研究的基本方法; 2) 第3节详细介绍本文主要的贡献:不确定近邻的协同过滤算法,并对算法进行形式化描述以及运算时间复杂度分析; 3) 第4节是针对提出的算法进行实验验证,并对实验结果的比较进行分析; 2 问题定义及基本方法 2.1 相似性度量方法 2.2 KNN协同过滤推荐的结果 3 不确定近邻的协同过滤推荐算 3.1 动态选择目标的推荐对象群 3.2 在推荐对象中选择信任子群 3.3 引入不确定近邻因子的概念 定义: 不确定近邻因子λ和1-λ,分别作为用户群和产品群推荐结果的平衡因子 3.4 不确定近邻的协同过滤推荐算法 测试数据集: GroupLens研究产品组( www.grouplens.org )提供的一个著名电影评分数据MovieLe UNCF算法与其它协同过滤算法的比较 1) 传统的协同过滤算法UBCF和IBCF, 2) EMDP(Effective Missing Data Prediction)方法 Further Works: 例如双聚类和信任传递,本体模型 个人点评: 思路并不复杂,有创新点.但问 不确定近邻因子λ 选择的合理性?文章并未说明 可以对比另一文章 《基于项目评分预测的协同过滤推荐算法》,邓爱林, 朱扬勇, 施伯乐 软件学报 ,2003 不确定近邻的协同过滤推荐算法.pdf
个人分类: web service|0 个评论
[转载]SCI论文发表的关键词问题
zhao1198 2011-8-22 18:58
SCI论文发表的关键词属于主题词中的一类。主题词除关键词外,还包含有单元词、标题词的叙词。   主题词是用来描述文献资料主题和给出检索文献资料的一种新型的情报检索语言词汇,正是由于它的出现和发展,才使得情报检索计算机化(计算机检索)成为 可能。 主题词是指以概念的特性关系来区分事物,用自然语言来表达,并且具有组配功能,用以准确显示词与词之间的语义概念关系的动态性的词或词组。   SCI论文发表的关键词是标示文献关建主题内容,但未经规范处理的主题词。关键词是为了文献标引工作,从论文中选取出来,用以表示全文主要内容信息款目的单词或术语。一篇论文可选取3~8个词作为关键词。   关键词或主题词的一般选择方法是:   由作者在完成论文写作后,纵观全文,先出能表示论文主要内容的信息或词汇,这些住处或词江,可以从论文标题中去找和选,也可以从论文内容中去找和选。 例如上例,关键词选用了6个,其中前三个就是从论文标题中选出的,而后三个却是从论文内容中选取出来的。后三个关键词的选取,补充了论文标题所未能表示出 的主要内容信息,也提高了所涉及的概念深度。需要选出,与从标题中选出的关键词一道,组成该论文的关键词组。   关键词与主题词的运用,主要是为了适应计算机检索的需要,以及适应国际计算机联机检索的需要。一个刊物增加“关键词”这一项,就为该刊物提高“引用率”、增加“知名度”开辟了一个新的途径。 本文来自辑文编译(http://www.jwedit.net),欢迎转载并加上连接
个人分类: Writing|1 次阅读|0 个评论
2011-6-10学术
stillme2010 2011-6-10 10:56
燃煤排汞必须降低以适应新的美国大气质量要求。目前大多数成熟的控制是让烟气通过负载在纤维过滤( fabric filter,FF )上的 a dust cake 粉末吸附剂 , 大多数的颗粒控制在美国采用静电除尘装置。在 ESP 装置中以及在 FF 吸附床中采用最近开发的汞吸附模型,同时分析元素汞。结果表明,低容量吸附剂条件下在 ESP 和 FF 上去除汞的特点没啥变化,采用高容量吸附剂在 FF 上获得了较好的效果。对比单位量的去除效果,……然后就哪个好点哪个差点,也没啥具体结果 .
个人分类: 学术啊学术|3417 次阅读|0 个评论
Lab 6 Designing a FIR filter targeting the XUPV5-LX110T eval
lcj2212916 2011-5-28 09:05
题目:Lab 6 Designing a FIR filter targeting the XUPV5-LX110T evaluation platform http://radarew.5d6d.com/thread-279-1-1.html
2535 次阅读|0 个评论
[转载]IDL程序发布方法总结
liulingling 2011-5-26 12:01
一、 7.0之前IDL版本的程序发布 1.Windows下根据主程序名建立project,使用Export按钮发布; 发布后的程序若需要简化文件夹的体积,只需bin.x86下包括freetype2_1_3.dll、idl.dll、idl.pref、MesaGL6_2.dll、MesaGLU6_2.dll、osmesa6_2.dll、ug3220.dll及myApp.exe文件,\lib\hook\下包含idlrtmain.sav文件即可运行,当然了如果系统中调用到相关DLM只需拷贝过来即可。 2. Unix下使用make_rt命令; 二、IDL7.0下的程序发布(Windows) 该版本下用MAKE_RT代替了Export功能,暂时有两种发布方法。 1. IDL的HELP文件中描述 1)收集相关信息: 选择你要运行的程序的名字;myApp 确定发布的完整输出路径存在,否则make_rt会报错;OutDir 知道包含你程序所有代码的sav文件完整路径;savefile 2)运行MAKE_RT过程 MAKE_RT, 'myApp', OutDir, SAVEFILE=savefile 3)添加额外文件到发布的程序中; 如运行系统中没有安装IDL,则需要先安装一个文件来确保其运行。32位系统运行systemdll32_setup.exe,64位系统运行systemdll64_setup.exe,这两个文件的对应目录为IDL_PATH\ bin\make_rt。 4)修改启动脚本-myApp.ini; myApp.ini包含的内容 Show=False ;对话框界面是否弹出True和False BackColor=H6B1F29 ;对话框的背景颜色 Caption=any string ;对话框的标题文字 Picture=.\splash.bmp ;对话框需要显示的图像,标准大小480 x 335,若图像大则大的部分显示背景色; DefaultAction=path to application;运行时执行的代码; 2.简化发布方法 在工程的右键属性页面中勾选【创建sav文件】和【嵌入license的sav文件】,构建工程建立myApp.sav文件,直接用myApp.sav文件。在系统的ITT\IDL70\bin\make_rt下面拷贝start_app_win.exe和start_app_win.ini文件到myApp.sav所在目录下,修改start_app_win.ini里面的DefaultAction部分为系统虚拟机路径-rt= myApp.sav即可运行,这个方法简单方便,缺点是需要用系统安装的虚拟机。 3. 改进的简化发布方法 上面的方法中的缺点就是告诉程序系统安装的虚拟机路径,我们可以把系统的虚拟机及虚拟机调用文件拷贝出来,直接拷贝到myApp.sav的文件目录下面。然后把DefaultAction=修改为.\idlrt.exe -rt=myApp.sav即可。这样就解决了系统不安装虚拟机就不能运行的问题。跟简化导出系统相似,最基本的虚拟机文件包括:freetype2_1_3.dll、idl.dll、MesaGL6_2.dll、MesaGLU6_2.dll、osmesa6_2.dll、ug3220.dll、idlrtmain.sav和idlrt.exe,当然了,为了省事可以把这些文件和start_app_win.exe、start_app_win.ini拷贝一份出来作发布的基本模板用。 视频网址:http://static.youku.com/v1.0.0160/v/swf/qplayer.swf?VideoIDS=XMjYwMDgzMjA0embedid=MTI0LjIwNS4yNDUuMTE0AjY1MDIwODAxAmhpLmJhaWR1LmNvbQIvZHlxd3JwL2Jsb2cvaXRlbS9iYjM2N2FmMjIwOTFlMDA1YjE3ZWM1NjkuaHRtbA==showAd=0
个人分类: 遥感天地|5039 次阅读|0 个评论
粒子滤波
allendd 2010-12-20 10:49
粒子滤波 编辑本段 粒子滤波(PF:Particle Filter)   与卡尔曼滤波(Kalman Filter)相比较   粒子滤波(PF: Particle Filter)的思想基于蒙特卡洛方法(Monte Carlo methods),它是利用粒子集来表示概率,可以用在任何形式的状态空间模型上。其核心思想是通过从后验概率中抽取的随机状态粒子来表达其分布,是一种顺序重要性采样法(Sequential Importance Sampling)。简单来说,粒子滤波法是指通过寻找一组在状态空间传播的随机样本对概率密度函数 进行近似,以样本均值代替积分运算,从而获得状态最小方差分布的过程。这里的样本即指粒子,当样本数量N时可以逼近任何形式的概率密度分布。   尽管算法中的概率分布只是真实分布的一种近似,但由于非参数化的特点,它摆脱了解决非线性滤波问题时随机量必须满足高斯分布的制约,能表达比高斯模型更广泛的分布,也对变量参数的非线性特性有更强的建模能力。因此,粒子滤波能够比较精确地表达基于观测量和控制量的后验概率分布,可以用于解决SLAM问题。    粒子滤波的应用   粒子滤波技术在非线性、非高斯系统表现出来的优越性,决定了它的应用范围非常广泛。另外,粒子滤波器的多模态处理能力,也是它应用广泛的原因之一。国际上,粒子滤波已被应用于各个领域。在经济学领域,它被应用在经济数据预测;在军事领域已经被应用于雷达跟踪空中飞行物,空对空、空对地的被动式跟踪;在交通管制领域它被应用在对车或人视频监控;它还用于机器人的全局定位。    粒子滤波的缺点   虽然粒子滤波算法可以作为解决SLAM问题的有效手段,但是该算法仍然存在着一些问题。其中最主要的问题是需要用大量的样本数量才能很好地近似系统的后验概率密度。机器人面临的环境越复杂,描述后验概率分布所需要的样本数量就越多,算法的复杂度就越高。因此,能够有效地减少样本数量的自适应采样策略是该算法的重点。另外,重采样阶段会造成样本有效性和多样性的损失,导致样本贫化现象。如何保持粒子的有效性和多样性,克服样本贫化,也是该算法研究重点。    粒子滤波的发展    1.MCMC改进策略   马尔可夫链蒙特卡洛(MCMC)方法通过构造Markov链,产生来自目标分布的样本,并且具有很好的收敛性。在SIS的每次迭代中,结合MCMC使粒子能够移动到不同地方,从而可以避免退化现象,而且Markov链能将粒子推向更接近状态概率密度函数(probability density function,(PDF))的地方,使样本分布更合理。基于MCMC改进策略的方法有许多,常用的有Gibbs采样器和MetropolisHasting方法。    2.Unscented粒子滤波器(UPF)   Unscented Kalman滤波器(UKF)是Julier等人提出的。EKF(Extended Kalman Filter)使用一阶Taylor展开式逼近非线性项,用高斯分布近似状态分布。UKF类似于EKF,用高斯分布逼近状态分布,但不需要线性化只使用少数几个称为Sigma点的样本。这些点通过非线性模型后,所得均值和方差能够精确到非线性项Taylor展开式的二阶项,从而对非线性滤波精度更高。Merwe等人提出使用UKF产生PF的重要性分布,称为Unscented粒子滤波器(UPF),由UKF产生的重要性分布与真实状态PDF的支集重叠部分更大,估计精度更高。    3.Rao-Blackwellised粒子滤波器(RBPF)   在高维状态空间中采样时,PF的效率很低。对某些状态空间模型,状态向量的一部分在其余部分的条件下的后验分布可以用解析方法求得,例如某些状态是条件线性高斯模型,可用Kalman滤波器得到条件后验分布,对另外部分状态用PF,从而得到一种混合滤波器,降低了PF采样空间的维数,RBPF样本的重要性权的方差远远低于SIR方法的权的方差,为使用粒子滤波器解决 SLAM问题提供了理论基础。而Montemerlo等人在2002年首次将Rao-Blackwellised粒子滤波器应用到机器人SLAM中,并取名为FastSLAM算法。该算法将SLAM问题分解成机器人定位问题和基于位姿估计的环境特征位置估计问题,用粒子滤波算法做整个路径的位姿估计,用EKF估计环境特征的位置,每一个EKF对应一个环境特征。该方法融合EKF和概率方法的优点,既降低了计算的复杂度,又具有较好的鲁棒性。   最近几年,粒子方法又出现了一些新的发展,一些领域用传统的分析方法解决不了的问题,现在可以借助基于粒子仿真的方法来解决。在动态系统的模型选择、故障检测、诊断方面,出现了基于粒子的假设检验、粒子多模型、粒子似然度比检测等方法。在参数估计方面,通常把静止的参数作为扩展的状态向量的一部分,但是由于参数是静态的,粒子会很快退化成一个样本,为避免退化,常用的方法有给静态参数人为增加动态噪声以及Kernel平滑方法,而Doucet等提出的点估计方法避免对参数直接采样,在粒子框架下使用最大似然估计(ML)以及期望值最大(EM)算法直接估计未知参数。
个人分类: 科研学习|6782 次阅读|0 个评论
Data Assimilation 01-01: What is Kalman Filter
lryj 2010-7-21 16:31
从今天开始正式接触数据同化(DataAssimilation),作为数据同化基础的基础,卡尔曼滤波器(KalmanFilter)是一切的一切,下来的系列日志将会是关于这个基础的学习日志。 1,1KalmanFilter是什么? 理论上来讲,Kalmanfilter是线性二次型问题的估计器(estimator),要说清楚线性二次型问题是什么,比较麻烦一点,但是对于了解Kalmanfilter又是不可或缺的,这里只了解了它的基本定义:当一个系统的动态(thesystemdynamics)可以用线性微分方程(lineardifferentialequation)来描述,而求解该动态的运算量又可以用二次方程(thequadraticfunctional)来描述,那我们就可以把这种情况定义为线性二次型问题(LQproblem),这属于最优化控制理论(optimalcontrol)的范畴:用最小的运算量求解一个动态系统。KalmanFilter就是一个对任何具有二次方程估计误差(quadraticfunctionofestimationerror)的过程进行最优化处理的评估器。 KalmanFilter的最直接应用就是控制复杂的动态系统:飞机,航天飞机,船等等。要控制一个复杂系统,就必须了解这个系统是怎么运作的。但是,去了解一个系统的每一个变量并控制它是没有必要,也是不可能。KalmanFilter使我们可以从间接的,具有很多噪声的观测当中推测出那部分我们没有掌握到的变量信息。 总的来说:KalmanFilter是一个工具,它不能够解决所有的问题,但是能够帮助我们是问题解决简单化。这不是一个物理工具,而是一个数学工具。数学工具使得我们的脑力劳动更有效率,就像机械工具让我们的体力劳动更轻松一样(Mathematicaltoolsmakementalworkmoreefficient,justasmechanicaltoolsmakephysicalworkmoreefficient);KalmanFilter是一个电脑程式,它用有限的变量来表达我们要解决的问题;KalmanFilter是对所要评估问题的一个连贯的,统计学的特征描述。它不仅仅是一个估计器,它会将动态系统的状态继承和传递下去(itpropagatesthecurrentstateofknowledgeofthedynamicsystem),包括随机动态扰动(randomdynamicperturbations)和所有过去时刻的观测(allpastmeasurements). 1.2为什么是Filter? 一开始,Filter是用来过滤水-气-固混合物当中的杂质而发明的一个词.在晶体管收音机时代,这个词被用在模拟集成电路上(analogcircuits)来表示过滤干扰电波。这些干扰电波具有不同的频率,而通过对特定频率的过滤,模拟集成电路被用来减弱这些干扰电波的影响。到了19世纪30年代,这个概念被扩展到不同领域,并被用来表示将信号和噪声进行分离,而信号和噪声又各自具有自己的谱密度(powerspectraldensity),Kolmogorov和Wiener利用谱密度分布的统计学特征对信号进行了最优化估计的处理。 说回KalmanFilter,Filter已经远远超越了原来的定义,它包括了对反演问题的求解(确定一组由所需变量组成的方程来表示观测变量-----观测变量的正函数)。本质上来讲,KalmanFilter将观测变量与所求变量之间的函数关系反置,将所需变量看成可以由观测变量的反函数来表达(Inessence,itinvertsthisfunctionalrelationshipandestimatestheindependentvariablesasinvertedfunctionsofthedependent variables.)。
个人分类: 生活点滴|6659 次阅读|0 个评论
维普数据库的filter
热度 2 fatmoon599 2010-4-19 15:43
维普数据库的filter 维普数据库的数据怎么导入endnote?这个问题一直为科学院的用户询问, 中国科学院订购的维普数据库是通过镜像站访问的,地址 http://159.226.100.28/ ,镜像站提供了endnote的格式,但是这个endnote格式的数据怎么导入到endnote中呢? 在镜像站的帮助中有介绍 http://club.cqvip.com/html/11/62330.shtml?SUID=EGBNBFDHDNCBCOPIBOLGEMCBCDOIPNFP ,简单说:①选择检索结果全纪录保存;②使用维普数据库提供的插件进行文本转换;③使用维普数据库提供的filter进行导入。 怎么样?似乎看起来有点麻烦,其实您也可以很简单,一劳永逸的解决问题,就是自己编辑filter,上一篇博文已经介绍了怎么自己制作一个filter,这里提供我自己制作的filter供大家使用。 使用步骤:①选择检索结果文摘格式(默认)保存文本文档;②import导入:文本选择保存文本,filter选择上面的,text translation选择Chinese simplified。
个人分类: endnote问题|11378 次阅读|2 个评论
如何自己编辑filter将文献导入endnote
热度 1 fatmoon599 2010-4-13 11:47
Endnote 的一个好处就是只要你知道规则,就可以自定义一个 filter 将任何具备一定规范的文献导入到 endnote 中,现以维普数据库( vip )为例展示一下 filter 的制作。 第一步:进入维普数据库下载检索结果(选择默认的文摘形式) 第二步:打开 endnote 软件,选择菜单 edit filter new filter 第三步:打开下载的维普 txt 文件,编辑 filter,其中template是编辑的主体内容 有时候filter的智能smart选择不能满足导入的要求,需要自己设置,如区分不同的作者;如区分不同的文献,这些不做自己设置的结果就是所有的作者都导入到同一行,当做一个作者,所有的文献都导入同一个文献,当作一条文献。 第四步:将维普的 txt 文件导入到 endnote 中
个人分类: endnote问题|20996 次阅读|1 个评论
关于endnote的几个概念
fatmoon599 2010-4-12 09:30
① Library(*.enl/*.enlx)另:*.enw、*.ris可以直接导入导入endnote,不需要选择过滤器) 个人图书馆、文献库、书目文献数据库(Bibliography) 存储和管理文献数据的Endnote文件 ② Filter (*.enf) 过滤器将格式不统一的文献数据形成统一的endnote格式文献 ③ Style (*.ens) 文献输出格式、期刊编排格式,出现于word写作区、文献显示区和输出区 用于将统一的endnote格式文献输出为具有特定格式的文献 ④Connection file (*.enz) 链接文件用于在线检索时链接网络数据库的文件 ⑤ Term list (*.txt) 术语列表文献库内某一字段的所有词汇集合,在文献添加时自动产生,包括author、keyword、journal。其中journal也可以由endnote自带的term list文件直接导入 ⑥ Template (*.dot) 期刊投稿模板自动产生期刊所要求的投稿格式 ⑦ Group Custom group 一般组,需要自己添加 Smart group 智能组,通过检索策略定义,自动添加 Unfiled group 一般组外的文献,可以自由选择智能组文献是否在内,自动添加
个人分类: endnote问题|7605 次阅读|0 个评论
Matlab: 利用filter函数求滑动平均
sanshiphy 2009-10-29 16:28
Matlab有多种计算滑动平均的方法,现介绍基于filter函数的计算方法。设原始数据为x,平均窗口设为a(a为正整数),那么无权重滑动平均后的数据y为: windowSize = a; y=filter (ones(1,windowSize)/windowSize,1,x); 上述命令实际上计算的是: y(1)=(1/a)*x(1); y(2)=(1/a)*x(2)+(1/a)*x(1); ... ... y(a)=(1/a)*x(a)+(1/a)*x(a-1)+...+(1/a)*x(1); ... ... y(i)=(1/a)*x(i)+(1/a)*x(i-1)+...+(1/a)*x(i-a+1); ... .... 可以看出,计算某一位置处的平均值时,窗口的前端位于该处。有时为了将窗口中部放在所计算的位置处,这样上述计算方式则变为(为叙述方便起见,设a为奇数): y(1)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2); y(2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2+1); ... ... y((a+1)/2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2)+...+(1/a)*x(a); ... ... y(i)=(1/a)*x(i-(a-1)/2)+(1/a)*x(i-(a-1)/2+1)+...+(1/a)*x(i)+...+(1/a)*x(i+(a-1)/2); ... ... 这种方式的滑动平均称为中心滑动平均,其Matlab的计算语句为: windowSize = a; y1=filter (ones(1,a/2+1)/windowSize,1,x); y2=filter(ones(1,a/2+1)/windowSize,1,fliplr(x)); y=y1+fliplr(y2)-(1/a)*x; 如利用1-2-1 滤波器计算有权重的中心滑动平均,其Matlab语句为: y1=filter( ,1,x); y2=filter( ,1,fliplr(x)); y=y1+fliplr(y2)-0.5*x;
个人分类: 技术备忘录|29478 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 17:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部