假设我有一个空数组,如下所示:
s=[];
Run Code Online (Sandbox Code Playgroud)
比方说我们有以下循环:
for j=1:2
for i=1:10
if a(i,j)>0
...
end
end
end
Run Code Online (Sandbox Code Playgroud)
而不是...,我想添加元素s.你是如何在MatLab中做到的?
我建议你完全避免循环.它们在MATLAB中很慢.
假设您要将所有值设置S(i,j)为1,对应于A(i,j) > 0.你可以这样做:
S = zeros(size(A)); % always a good idea to initialize your array
S(A > 0) = 1; % and done.
Run Code Online (Sandbox Code Playgroud)
更简洁:
S = A > 0;
Run Code Online (Sandbox Code Playgroud)
这指定您S要将值更改为1,对应于Awhere的值A > 0.
如果要将值设置为S相应的值,A那么您只需使用:
S = A(A > 0);
Run Code Online (Sandbox Code Playgroud)