matlab中subs怎么用,【转】MATLAB中subs函数效率低
下午碰到一段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函数效率低相关推荐
- matlab计算一组数的函数值_matlab中怎么求一组数据概率最大的数
好象直接使用就可以了,第一次出现就包含了定义 顺便把些命令弄给你看下 matlab命令 matlab commands and functions list A a abs 绝对值.模.字符的ASCI ...
- 建模中常用的30各MATLAB程序和函数
内部数学常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或 inf 无穷大 2 基本数学运算符 a+b 加法 a-b 减法 a*b 矩阵乘法 a.*b 数组乘法 a/b ...
- 数学建模中matlab程序,数学建模中常用的30个MATLAB程序和函数
<数学建模中常用的30个MATLAB程序和函数>由会员分享,可在线阅读,更多相关<数学建模中常用的30个MATLAB程序和函数(15页珍藏版)>请在人人文库网上搜索. 1.内部 ...
- matlab中的timer模块,[转载]Matlab中Timer的使用
Matlab中Timer的使用 鉴于Matlab中缺乏多线程机制,使用Timer无疑是一个很重要的工具,Matlab中Timer是一个Java对象. (1)Timer 的定义 t=timer(); 设 ...
- matlab 两列数据相乘,在EXCEL中,两列完全相同的数据,求和结果不一样??单元格两列相乘的公式...
excel表格中怎样求和以及计算两列的乘积 一.这可以用SUMPRODUCT函数来完成. 二.比如是要 =A1*B1 A2*B2 .....A100*B100,则这个公以简化成 =SUMPRODUCT ...
- cmake重新编译matlab,ubuntu系统下cmake 编译matlab中mex文件
cmake 编译工程具有独特的优势,特别对于复杂的工程更是如此.利用matlab直接编译mex文件时,对于文件数据多的工程时,需要列举所有文件,并且要按照依赖关系排 cmake 编译工程具有独特的优势 ...
- 2021-03-31 Matlab simulink 模糊PID在无刷直流电机中的应用
Matlab simulink 模糊PID在无刷直流电机中的应用 无刷直流电机的数学模型. 1.无刷直流电机数学模型 然后给出无刷直流电机的动态数学模型 看到上述这张图,不知聪明的你有没有发觉,图中采 ...
- matlab波的极化特性,Matlab GUI在电磁波极化特性教学中的应用
科技创新导报 2018 NO.16Science and Technology Innovation Herald 创新教育 科技创新导报 Science and Technology Innovat ...
- matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题
第 18卷第 3期 2005年 6月 常 州 工 学 院 学 报 Journal of Changzhou Institute of Technology Vol. 18 No. 3 Jun. 200 ...
- matlab矩阵按坐标取,在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab)...
在Matlab中获取inlier点的坐标(Get coordinates of inlier points in Matlab) 我需要找到使用impixel()在对象检测中获得的内部点的像素值. 我 ...
最新文章
- Python语言学习 (七)1.1
- 记一次Spring boot 和Vue前后端分离的入门培训
- 这不是bug,而是语言特性
- struts2的namespace的问题
- C语言笔试不好应该转专业吗,你认为大学里什么学科“难学”?过来人说出几门,考试难补考更难...
- IDEA Servlet页面报错
- linux上如何查看具体的命令属于哪个安装包
- 你造吗?这个属性值你写错了多少年?target=“_blank”
- 干货整理!10个Python图像处理工具,入门必看,提效大法 | 资源
- 【USACO】sprime
- CodeForces - 988D(思维STL)
- MATLAB基础篇——基本语法
- linux下安装五笔输入法,Linux五笔输入法:小小输入法安装配置
- h5广告与html5,什么是H5广告?
- java poi 导入报错,Cannot get a NUMERIC value from a STRING cell
- 计算机毕业设计springcloud“微服务”架构下新闻头条的设计与实现
- HTTP常用请求头与请求体实例
- 大数据下的空气监测如何改变你的生活方式?
- jpinyin 将城市名汉字转化为拼音
- 大数据冲击下图书出版编辑转型策略探析(非原创)
热门文章
- [技术解读]英伟达NVIDIA的3D-VISION和AMD-HD3D主动快门立体方案
- 哀悼日很多网站都变成了灰色,这是怎么做到的?
- swift ring
- 图解多线程设计模式pdf_图解Java多线程设计模式pdf
- TF标准模型TensorFlow Mobile for Android
- android4.0root,最强大一键ROOT 轻松搞定安卓4.0
- (5.2.1)配置服务器参数——即时文件初始化(IFI)
- 简述python的安装过程_安装Python-3.5.2过程中常见的几种错误
- 2021年IT互联网高薪职位大盘点
- DDE实现动态数据交换