Matlab-如何使用循环从一个向量创建两个向量
在这段代码中,我创建了一个有100个值的随机向量,我想从中得到两个向量:一个值在1以下,另一个值在1以上。我创建了这段代码,这段代码很有效,但我想知道是否有更有效的代码,而不需要将2个向量填充为0Matlab-如何使用循环从一个向量创建两个向量,matlab,loops,vector,Matlab,Loops,Vector,在这段代码中,我创建了一个有100个值的随机向量,我想从中得到两个向量:一个值在1以下,另一个值在1以上。我创建了这段代码,这段代码很有效,但我想知道是否有更有效的代码,而不需要将2个向量填充为0 clear all, close all, clc; %% ficiional vector creation % a=0; b=10; v1=(b-a).*rand(100,1); i=1; while i<length(v1) if v1(i)>1 x(i)=v1(i);
clear all, close all, clc;
%% ficiional vector creation
%
a=0;
b=10;
v1=(b-a).*rand(100,1);
i=1;
while i<length(v1)
if v1(i)>1
x(i)=v1(i);
end
if v1(i)<1
y(i)=v1(i);
end
i=i+1;
end
x(x==0)=[];
y(y==0)=[];
全部清除、全部关闭、clc;
%%虚拟向量创建
%
a=0;
b=10;
v1=(b-a).*兰特(100,1);
i=1;
而i1
x(i)=v1(i);
结束
如果v1(i)a=0;
b=10;
v1=(b-a).*兰特(100,1);
x=v1(v1>1);
y=v1(v1)非常感谢……出于某种原因,我没有看到这个解决方案,我太专注于在循环中创建向量--
a=0;
b=10;
v1=(b-a).*rand(100,1);
x=v1(v1>1);
y=v1(v1<1);