一直苦恼matlab代码中循环太多,运行速度太慢,听说借助函数可以提高计算效率。于是,试验了一下,真的太赞了。测试案例如下:
%【 试验目的,想随机生成 n 个0-1变量,50%的0,50%的1,对比两种方法的耗时】
% 采用循环的方式(运行慢)
n=1000; % 如果n设置为10000,速度对比会更明显
x = rand(n,1);
y = [ ];
for i = 1:n
if x(i,:) >=0.5
y(i,:) = 1
else
y(i,:)=0
end
end
% 调用函数的方式(提升速度)
% 第一步,设置一个function文件,代码如下:
function [z] = f(x)
z=[]
if x >= 0.5
z = 1
else
z =0
end
end
第二步,敲入如下命令:
n=1000;
x = rand(n,1);
z =[ ];
for i=1:1000
z(i,:) = f(x(i,:));
end