当前位置: 首页 > article >正文

MATLAB代码优化

MATLAB使用矩阵运算,因此使用矩阵运算速度要远超普通计算。
实验f(x,y)=Asin(u0*x+v0y)运算速度

代码:

function [t, f, g] = TASK(A, u0, v0, M, N) % M,N为像素点
tic
for x = 1:M %采用for循环计算
    for y = 1:N
        f(x, y) = A * sin(u0 * (x-1) + v0 * (y-1));
    end
end
t1 = toc; %for循环运算时间为t1
tic
x = 0:M-1;
y = 0:N-1;
[X, Y] = meshgrid(x, y); % 生成二维网格
g = A * sin(u0 * X + v0 * Y);
t2 = toc; % 矩阵运算时间为t2
t = t1/(t2+eps); % 两种算法的时间速度比较,eps为极小的数值,保证分母不为0

运行结果:

在这里插入图片描述
从上图可以看出,使用for循环计算是矩阵运算消耗时间的十几倍。
在这里插入图片描述
在这里插入图片描述
上图是f(x,y)=Asin(u0*x+v0y)的可视图像。


因此在使用MATLAB时,尽量使用矩阵运算,这样可以加快运算速度。


http://www.kler.cn/news/368561.html

相关文章:

  • 数据对齐的大/小端存放示例
  • AIGC中的图像生成:基于GAN的实现
  • 光学计算领域的突破:更快、更高效的光子存储单元
  • iPhone SE 4:定了
  • JMeter实战之——模拟登录
  • PHP const 和 define主要区别
  • 合合信息智能文档处理百宝箱:强力驱动,加速文档类应用研发进程
  • [MySQL#0] 详解如何在 Linux 上安装 MySQL | 常见登录问题
  • 《陕西师范大学学报(自然科学版)》
  • 通过一个具体的场景来理解SSTable的工作原理。
  • 算法的学习笔记—左旋转字符串(牛客JZ58)
  • react antd批量导入的formData传参在beforeUpload、onChange事件中获取文件内容
  • ARM嵌入式学习--第六天(电子电路基础知识)
  • Docker:4、龙晰(Anolis OS 8.8)宝塔面板安装
  • 多线程进阶(一):锁策略 锁升级 锁消除 锁粗化 CAS
  • 导出Git提交记录
  • 【论文阅读】Learning persistent homology of3D point clouds
  • 【华为HCIP实战课程二十五】中间到中间系统协议IS-IS配置实战续系统ID区域ID,网络工程师
  • 钉钉与金蝶云星空数据集成方案优化企业采购流程
  • STM32电压采集电路设计
  • Linux:认识文件
  • PCB(Process Control Block,进程控制块)和FCB(File Control Block,文件控制块)
  • 数据结构:“小猫钓鱼游戏”
  • java学习技巧分享
  • HTML作业
  • 了解python的错误与异常