我制作了一个算法,需要执行大约100次。我想减少这段代码块的处理时间,有人能帮我减少它的处理时间或建议一个更高效的代码块吗?在我的笔记本电脑上,当它执行一次时,这个块需要大约“经过时间为29.213608秒”。如果我将这个经过时间乘以100,那么答案就是大约48.7分钟,这是一个很长的处理时间。如果有人能帮我这件事,我会非常感激;)
实际上,我想反转a的位,而a的类型是char,并且我无法通过应用not操作来反转位。然后我在某个地方学到,matlab中的not操作不适用于char类型,因此我首先将位从char转换为double,然后应用not操作,最后将结果矩阵从double转换回char类型。我的主要目的是反转char类型的位。如果有人能以另一种方式做到这一点,那么请帮助我。这件事需要很多处理时间:(
实际上,我想反转a的位,而a的类型是char,并且我无法通过应用not操作来反转位。然后我在某个地方学到,matlab中的not操作不适用于char类型,因此我首先将位从char转换为double,然后应用not操作,最后将结果矩阵从double转换回char类型。我的主要目的是反转char类型的位。如果有人能以另一种方式做到这一点,那么请帮助我。这件事需要很多处理时间:(
tic;
a(1:1000000,1)='0';
c=str2num(a);
c=~c;
d=num2str(c);
toc;
char(((a-'0')==0)+'0')
。更对称,而且可以去掉空格。 - Luis Mendochar((a=='0')+'0')
会更快。 - Luis Mendo