matlab矩阵归一化代码_【Matlab小知识】为什么我写的代码中要对矩阵初始化?

本文通过实例展示了MATLAB中初始化变量对于代码运行速度的巨大影响。未初始化的矩阵在循环填充时耗时3.679秒,而预先初始化的矩阵仅需0.065秒,速度相差50多倍。Tic和Toc函数用于衡量代码执行时间,对于大型矩阵,初始化是必不可少的优化步骤。此外,还分享了在MATLAB卡顿时如何强制终止代码执行的方法。
摘要由CSDN通过智能技术生成

直接看软件运行结果吧

(1)不初始化,我们看看计时效果  3.679s

%% 不初始化clear;clctic  % 开始计时for i = 1:2000    for j = 1:2000        result1(i,j) = i+j;    endendtoc  % 结束计时

1e3e7819f8fc82a2ea58f05396971299.png

(2)初始化,我们看看计时效果  0.065s

%% 初始化clear;clctic  % 开始计时result2 = zeros(2000);for i = 1:2000    for j = 1:2000        result2(i,j) = i+j;    endendtoc  % 结束计时

7f32b6a52d98ef42e76dac7768218db9.png

速度差了50多倍,这就是为什么要对向量进行初始化的原因哦~

(当然,对于特别小的矩阵,初始化与否不会产生肉眼上可见的差异)

Tic和toc函数可以计算运行一段时间的代码,简单地说,tic和toc是用来记录matlab命令执行的时间 

tic用来保存当前时间,而后使用toc来记录程序完成时间。 

两者往往结合使用,用法如下: 

tic 

operations 

toc 

显示时间单位: 秒

另外再教给大家一点小技巧,有时候matlab会一直显示运行中(可能是计算步骤太过于复杂,也有可能写的代码中有死循环),这个时候如果我们可以强制结束当前运行的代码:

% windows平台要停止执行 MATLAB命令,请按下 Ctrl+C 或 Ctrl+Break。% 在Macbook平台上,还可以使用 Command+.(Command 键和句点键)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值