精华内容
下载资源
问答
  • 利用MATLAB编写程序,进行二维光栅的衍射级次效率计算
  • 如何提高 matlab 计算速度 运算效率

    万次阅读 多人点赞 2016-10-20 01:10:10
    最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则: 1. 提前给数组分配大小。 2. 尽量用矢量计算,减少 for 循环。 3. 尽量调用 maltab自带的函数来实现一些功能。 4...

    最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则:


    1. 提前给数组分配大小。

    例如:在程序循环时用到数组变量 a ,若知道数组 a 的大小或者知道 a 的大小上界,则可以提前给数组a 分配大小。 一般MATLAB也会给没有提前

    分配大小的变量数组下面标示红线,提醒修改。  

    a=zeros(10,10)
    生成一个10行10列的零矩阵。


    a=100*ones(10,10)
    
    生成一个10行10列的矩阵,并且每个元素都是100。

    a=(1:10)
    生成一个从1到10的1行10列矩阵。


    2. 尽量用矢量计算,减少 for 循环。

    最近我也才意识到这一点,matlab自带的很多函数都支持矢量计算。直接矢量计算,避免大量的for循环。

    用 min 函数举例:

    clc
    
    a=(1:1000000);
    tic
    for i=1:1000000
        a(i)=min(a(i),100);
    end
    toc
    
    tic
    b=max(a,100);
    toc


    结果显示:

    时间已过 0.028604 秒。
    时间已过 0.006296 秒。

    可见后者比前者的 for 循环快。

    3. 尽量调用 maltab自带的函数来实现一些功能。

    这个是显而易见的,matlab自带的函数由大神级的matlab开发人员所编写,他们当然会在计算速度上做不少优化,一定比我们编写的好。


    4. 少用 find 函数,用 logical 替代。

    查找替换矩阵中的元素,过去用 find 函数,现在用 logical 更好。

    下面用一个例子,分别测试 for 循环,find函数,logical函数查找替换:

    a=(1:10000000);
    
    tic
    for i=1:length(a)
        if a(i)>5
            a(i)=1;
        end
    end
    toc
    
    tic
    a(find(a)>5)=1;
    toc
    
    tic
    a(logical(a)>5)=1;
    toc

    结果显示:

    时间已过 0.407840 秒。
    时间已过 0.378585 秒。
    时间已过 0.119918 秒


    可见,find 函数仅仅比 for 循环快一点,而 logical 函数则显著快于它们。 


    5. 必须用到矩阵拼接,可变矩阵时,用 end 拼接矩阵。

    例如:

    function test
    A=cell(3,1);
    tic 
    N=10000;
    for t=1:3
        a=magic(3);
        for i=1:N
            a=[a;magic(3)];
        end
        A{t}=a;
    end
    toc
    
    B=cell(3,1);
    tic
    for t=1:3
        B{t}(end+1:end+3,:)=magic(3);
    end
    toc
    end


    时间已过 1.723104 秒。
    时间已过 0.001621 秒。

    6. 大规模的循环,可以调用 c语言或 C++来 计算。

    这个见不少资料说,自己还没试过,有机会测试一下。

    展开全文
  • 利用matlab软件,通过mie散射理论,计算球形粒子的散射相函数。 图为 散射相函数于弧度数的关系。
  • 容积效率作为衡量齿轮泵性能的关键指标之一,在其设计中具有举足轻重的位置,而设计过程中容积效率计算速度与准确度...详细介绍了基于Isight-Matlab容积效率自动计算的设计流程,为容积效率快速、准确计算提供了方法。
  • matlab汽车nedc综合油耗计算,对应excel表格输入相应参数即可得出结果
  • 测算超效率SBM模型的matlab代码,可以加入非期望产出
  • 利用Matlab软件,通过Mie算法,计算球形粒子的消光系数和尺度参数的关系。 结果和文献中的参考文献对照过了,真实可靠。
  • Matlab运算效率对比

    千次阅读 2018-04-19 15:28:12
    首先,推荐一篇比较,分析了四种执行函数效率对比。Ref:https://zhuanlan.zhihu.com/p/35808505?group_id=969873960783101952结果:直接调用>匿名>feval>eval。但不是说就不用eval了,eval是...

    首先,推荐一篇比较,分析了四种执行函数效率对比。

    Ref:https://zhuanlan.zhihu.com/p/35808505?group_id=969873960783101952

    结果:直接调用>匿名>feval>eval。但不是说就不用eval了,eval是个很灵活的函数,在批量读取命名处理等地方非常好用。

    25个案例里面的比较

    结果:匿名,子函数,嵌套函数效率类似,inline效率极低,而且差很多。

    很多时候自己的程序可以tic,toc试试比较一下。

    自己的一些经验:

    1.我用的是17b的版本,个人推荐用新不用旧,新版本提供了更多的库,优化更好,效率通常会更高一点。虽然17b有点速度问题。。据说18a已经改进了。

    2. 从17b的使用上来说,因为自己做了大文件数据处理。有一点经验是,小文件上matlab的读取和处理效率是很快的,速度可以接受。当数据文件大小超过了一定阈值的时候,效率显著变慢,以数量级上升。

    我用了三种方式读取这个坑爹的大文件,直接读取,matlab自己切块读取,mex。

    效率排序:mex>切块>直接读取。而且差距异常之大。


    展开全文
  • 依据建立的数学模型在MATLAB平台中设计变速器效率计算程序,实现了定工况变速器传动效率计算.通过对某国产乘用车手动挡变速器效率模拟分析演示,说明应用此程序可以分析系统参数对传动效率的影响规律.结果表明变速传动...
  • 运用MATLAB实现包含非期望产出的sbm模型运行代码,是截面数据
  • 用蒙特卡罗方法和MATLAB计算冷屏效率.pdf
  • 超临界二氧化碳布雷顿简单循环MATLAB计算程序,需要输入热源、冷凝器、压缩机、透平参数。
  • 用于MATLAB的DEA交叉效率工具箱 版本1.0.0 作者 克里斯汀·卡普斯(Christian Kaps) 乔斯·佐菲奥(JoséL.Zofío) 用法 要使用工具箱,请将名为“ crossefftoolbox”的文件夹添加到MATLAB路径。 工具箱计算以下...
  • 一用法用来干什么什么时候用 二步骤前因后果算法的步骤公式 三程序 四举例 五前面国赛用到此算法的备注一下;1 pi j ? 0, i, j ? 1, 2, , N 即每个元素非负 ;1 ;连续滞销的概率 ; ;6;7;8;如果我们按公式7继续逐步求 ...
  • 使用MATLAB编制电机效率map图,建立相应Excel表格后可做成模板用于以后工作中。本人初学,学的不到位的的放欢迎指教。
  • 使用此代码可以找到各个点的温度和压力,并且还可以找到此循环的净功和效率以及此循环中根据热量输入而拒绝的热量
  • 对DEA决策单元进行评价,直接输入测算矩阵就可以。
  • 用蒙特卡罗方法和MATLAB计算引入挡板结构的冷屏效率.pdf
  • 衍射Matlab计算

    2014-03-02 15:21:42
    衍射Matlab计算!!!
  • 使用matlab使用嵌套乘法计算多项式,有效提高计算效率
  • matlab计算流体力学编程代码 题目 借助计算机编程分别给出下图所示的两个信号集的功率效率(BER与Eb/N0的关系),并通过比较其功率效率解释编码负增益现象。 原理 由于移动通信存在干扰和衰落,在信号传输过程中将出现...
  • 一个用于计算电磁散射的矩量法程序员,采用Matlab编程环境。可以计算二维场的电磁散射。
  • 二阶响应matlab代码报告钙钛矿太阳能...附加的MATLAB函数:MATLAB函数efficiency.m计算在AM1.5g光照下的太阳能电池的效率和特征参数 数据集文件: AM15G.dat是用作太阳能电池照明源的AM1.5全球太阳辐射光谱(第一列:以
  • 该文件计算: 原理 电池效率 (PCE) 填充因子 (FF) 短路电流 (Isc) 开路电压 (Voc) 最大功率电流 (Imp) 最大电源电压 (Vmp) 从 IV 扫描数据、太阳强度和电池面积输入。 它仅适用于(现在)纠正制度中的负值。 这将...
  • matlab欧拉角算旋转矩阵代码Matlab 欧拉角 这个适度的文件集合实现了 3D 运动学计算形式,这些形式包含在 John J. Craig 的《机器人学概论》等作品中。 在 Peter Corke 的“”中可以找到一个更全面的包。 这项工作...
  • 基于MATLAB的电动汽车用永磁同步电机的效率MAP计算.pdf
  • 使用MATLAB将不同抽取因子组合效率进行可视化。可以看出当D1=32,D2=6时,乘法运算量最低,效率最高。 二级抽取乘法运算量 设计二级抽取的滤波器,采用凯泽窗,通过MATLAB编写代码,滤波器频率响应的图像如图所示。 ...

    摘要

    构建多音信号,最高频率为800HZ,分析频谱特点。抽取频率384KHZ,采用二级抽取将抽样率缩减为2KHZ,采用凯泽窗,分析不同抽取因子下的抽取效率。设计滤波器,给出了抽取后的时域频域波形

    构建最大频率为800HZ的多音信号。MATLAB代码如下:

    // An highlighted block
    f1=780;
    f2=790;
    f3=800;
    xt1=sin(2*pi*f1
    展开全文
  • 邻接表、邻接矩阵转换 、平均路径、聚类系数、平均度、度分布等
  • 相对增益阵列 (RGA) 是控制结构设计的有用工具,包括输入和... 如果增益是方阵,此工具会计算 RGA 并推荐一组配对。 对于非正方形系统,该工具提供了输入(输出)选择的通用RGA和指标,即所谓的输入(输出)有效性。
  • 效率DEA算法matlab编程,dea计算的各种效率模型,matlab源码.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,082
精华内容 7,232
关键字:

matlab计算效率

matlab 订阅