下午碰到一段MATLAB程序运行缓慢,怀疑是因为使用了subs函数而导致的,写了段测试代码:

clc;

clear;

syms x1 x2 x3 x4 y1 y2 y3 y4;

V1=1;V2=2;V3=3;V4=4;

V5=5;V6=6;V7=7;V8=8;

M1=[x1 x2;x3 x4];

M2=[y1 y2;y3 y4];

M=M1+M2;

tic;

for i=1:1:1000

Mv=subs(M,{x1,x2,x3,x4,y1,y2,y3,y4},{V1,V2,V3,V4,V5,V6,V7,V8});

end

t1=toc;

N1=[V1 V2;V3 V4];

N2=[V5 V6;V7 V8];

tic;

for j=1:1:1000

Nv=calcSums(N1,N2);

end

t2=toc;

disp(['采用subs函数的运行时间为',num2str(t1),'秒;']);

disp(['采用自定义求和函数的运行时间为',num2str(t2),'秒;']);

disp(['t1是t2的',num2str(fix(t1/t2)),'倍。']);

其中自定义的求和函数calcSums为:

function result=calcSums(Mat1,Mat2)

result=Mat1+Mat2;

end

引用地址:

注意: 该地址仅在今日23:59:59之前有效

下午碰到一段MATLAB程序运行缓慢,怀疑是因为使用了subs函数而导致的,写了段测试代码:

clc;

clear;

syms x1 x2 x3 x4 y1 y2 y3 y4;

V1=1;V2=2;V3=3;V4=4;

V5=5;V6=6;V7=7;V8=8;

M1=[x1 x2;x3 x4];

M2=[y1 y2;y3 y4];

M=M1+M2;

tic;

for i=1:1:1000

Mv=subs(M,{x1,x2,x3,x4,y1,y2,y3,y4},{V1,V2,V3,V4,V5,V6,V7,V8});

end

t1=toc;

N1=[V1 V2;V3 V4];

N2=[V5 V6;V7 V8];

tic;

for j=1:1:1000

Nv=calcSums(N1,N2);

end

t2=toc;

disp(['采用subs函数的运行时间为',num2str(t1),'秒;']);

disp(['采用自定义求和函数的运行时间为',num2str(t2),'秒;']);

disp(['t1是t2的',num2str(fix(t1/t2)),'倍。']);

其中自定义的求和函数calcSums为:

function result=calcSums(Mat1,Mat2)

result=Mat1+Mat2;

end

循环1000次时的运行结果:

采用subs函数的运行时间为29.7846秒;

采用自定义求和函数的运行时间为0.17605秒;

t1是t2的1761倍。

subs函数耗时很大,在对效率有较高要求时不宜采用。

matlab中subs怎么用,【转】MATLAB中subs函数效率低相关推荐

  1. matlab计算一组数的函数值_matlab中怎么求一组数据概率最大的数

    好象直接使用就可以了,第一次出现就包含了定义 顺便把些命令弄给你看下 matlab命令 matlab commands and functions list A a abs 绝对值.模.字符的ASCI ...

  2. 建模中常用的30各MATLAB程序和函数

    内部数学常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或 inf 无穷大 2 基本数学运算符 a+b  加法 a-b 减法 a*b 矩阵乘法 a.*b 数组乘法 a/b ...

  3. 数学建模中matlab程序,数学建模中常用的30个MATLAB程序和函数

    <数学建模中常用的30个MATLAB程序和函数>由会员分享,可在线阅读,更多相关<数学建模中常用的30个MATLAB程序和函数(15页珍藏版)>请在人人文库网上搜索. 1.内部 ...

  4. matlab中的timer模块,[转载]Matlab中Timer的使用

    Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...

  5. matlab 两列数据相乘,在EXCEL中,两列完全相同的数据,求和结果不一样??单元格两列相乘的公式...

    excel表格中怎样求和以及计算两列的乘积 一.这可以用SUMPRODUCT函数来完成. 二.比如是要 =A1*B1 A2*B2 .....A100*B100,则这个公以简化成 =SUMPRODUCT ...

  6. cmake重新编译matlab,ubuntu系统下cmake 编译matlab中mex文件

    cmake 编译工程具有独特的优势,特别对于复杂的工程更是如此.利用matlab直接编译mex文件时,对于文件数据多的工程时,需要列举所有文件,并且要按照依赖关系排 cmake 编译工程具有独特的优势 ...

  7. 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用

    Matlab simulink 模糊PID在无刷直流电机中的应用 无刷直流电机的数学模型. 1.无刷直流电机数学模型 然后给出无刷直流电机的动态数学模型 看到上述这张图,不知聪明的你有没有发觉,图中采 ...

  8. matlab波的极化特性,Matlab GUI在电磁波极化特性教学中的应用

    科技创新导报 2018 NO.16Science and Technology Innovation Herald 创新教育 科技创新导报 Science and Technology Innovat ...

  9. matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题

    第 18卷第 3期 2005年 6月 常 州 工 学 院 学 报 Journal of Changzhou Institute of Technology Vol. 18 No. 3 Jun. 200 ...

  10. matlab矩阵按坐标取,在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab)...

    在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab) 我需要找到使用impixel()在对象检测中获得的内部点的像素值. 我 ...

最新文章

  1. Python语言学习 (七)1.1
  2. 记一次Spring boot 和Vue前后端分离的入门培训
  3. 这不是bug,而是语言特性
  4. struts2的namespace的问题
  5. C语言笔试不好应该转专业吗,你认为大学里什么学科“难学”?过来人说出几门,考试难补考更难...
  6. IDEA Servlet页面报错
  7. linux上如何查看具体的命令属于哪个安装包
  8. 你造吗?这个属性值你写错了多少年?target=“_blank”
  9. 干货整理!10个Python图像处理工具,入门必看,提效大法 | 资源
  10. 【USACO】sprime
  11. CodeForces - 988D(思维STL)
  12. MATLAB基础篇——基本语法
  13. linux下安装五笔输入法,Linux五笔输入法:小小输入法安装配置
  14. h5广告与html5,什么是H5广告?
  15. java poi 导入报错,Cannot get a NUMERIC value from a STRING cell
  16. 计算机毕业设计springcloud“微服务”架构下新闻头条的设计与实现
  17. HTTP常用请求头与请求体实例
  18. 大数据下的空气监测如何改变你的生活方式?
  19. jpinyin 将城市名汉字转化为拼音
  20. 大数据冲击下图书出版编辑转型策略探析(非原创)

热门文章

  1. [技术解读]英伟达NVIDIA的3D-VISION和AMD-HD3D主动快门立体方案
  2. 哀悼日很多网站都变成了灰色,这是怎么做到的?
  3. swift ring
  4. 图解多线程设计模式pdf_图解Java多线程设计模式pdf
  5. TF标准模型TensorFlow Mobile for Android
  6. android4.0root,最强大一键ROOT 轻松搞定安卓4.0
  7. (5.2.1)配置服务器参数——即时文件初始化(IFI)
  8. 简述python的安装过程_安装Python-3.5.2过程中常见的几种错误
  9. 2021年IT互联网高薪职位大盘点
  10. DDE实现动态数据交换