加载中…
博文
标签:

matlab

repmat

bsxfun

arrayfun

blockproc

    众所周知,向量化编程在MATLAB中可以极大的提高程序运算效率。这其中的基本技巧包括:
        1. 优化内存:预分配矩阵,避免动态变化矩阵大小等。
        2. 向量化处理循环:使用尽可能多的向量化函数,尽量使用列向量。
        3. 高效使用函数:内建函数优先级最高,其次是函数文件的p文件,最后才是函数句柄及内联函数。

    即便for循环很多时候被要求尽量避免,MATLAB对其的优化已经使得for循环在很多小运算量的情况下仍然是效率最高的做法。除此之外,在矩阵运算中,高效的运用向量化函数可以极大的提高计算效率。以Project Euler的题目419为例,本文测试arrayfun, bsxfun及for循环的效率比较。

Project Euler 419:
标签:

labview

多线程

cpu

并行

    随着多核时代的来临,全新的并行程序架构也应运而生。然而即便是拥有着多核的硬件,软件上的开发依然前路漫漫。分析并行性和针对的并行算法设计极具挑战性,而实现的代码架构同样是艰巨的任务。

 

    作为图形化编程G语言的执行者, Labview 广泛应用于工业界的各个领域。有别于传统的文本编程, Labview 本身就是并行的程序开发结构。根据程序中的数据流分布, Labview 编译器能够自动识别并行模块并创建多线程。这种潜在并行化的多线程会根据程序效率将多线程安排在多核上(如果是多核计算架构体系的话)。

 

    各种编程结构中,循环是最为耗时和消耗资源的。一直运行的循环会让执行的线程负担很重,单个CPU时间将会达到100%,虽然这个循环占用的线程不会始终固定在同一个线程上。

 

(2011-01-09 15:45)
标签:

包络

数学

    数学上的包络是指特定的曲线簇包围形成的曲线或曲面。空间中的曲线簇是具有共同变化参数的一组曲线,拥有着共同的性质和相似的形状。形成的包络图型实际上是曲线簇的最“外围”构成的,因此包络曲线和曲线簇的任意成员均相切。

 

    求解包络线的方法是根据曲线相切得到方程组。对于显函数和隐函数,形式稍有不同,但是基本来源都是根据包络线与曲线簇在交点处相切得到:

 

       

 

  实例:


    考虑一个烟花爆炸的例子:在礼花发射后,上升到最高点 h 时爆炸。礼花爆炸初时碎片在各个方向的速度 v 相同,

标签:

自旋

轨道

rashba

dresselhaus

sia

bia

    自旋轨道相互作用表征电子自旋和运动的关系,通常表现为能级的分裂。在半导体电子学中,自旋轨道耦合是影响自旋操控和自旋驰豫的重要物理机制。反演非对称半导体体系下的自旋轨道耦合会导致自旋分裂而引起 Rashba 效应和 Dresselhaus 效应。

 

    考虑在半经典和非相对论量子力学下的旋轨耦合,这等效于电子围绕原子核运动模型,电子在运动过程中产生磁场,并与其本身的电子磁矩作用,产生的附加能量使得原有能级劈裂。附加能量为

 

         

       

    由于存在相对论效应,需要进行 Thomas 修正,修正后的总能量为

 

   &n

(2010-09-02 22:51)
标签:

数论

佩尔方程

连分数

    佩尔方程实际上并不是佩尔提出的,而是费尔马提出,却被欧拉误记为佩尔提出,因此佩尔方程的名称沿用至今。身为不定方程的特殊一类,佩尔方程与连分数,二次型,代数论等等有着重要的联系,因而是数论中最经典的篇章之一。令 d 为非平方数的正整数,那么佩尔方程(Pell Equation)为:

 

       

   

  * 连分数 *

    在对佩尔方程进行深入了解之前,先来看看与该方程不可分离的连分数:

 

       

  
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有