Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab-如何使用循环从一个向量创建两个向量_Matlab_Loops_Vector - Fatal编程技术网

Matlab-如何使用循环从一个向量创建两个向量

Matlab-如何使用循环从一个向量创建两个向量,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);

在这段代码中,我创建了一个有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);
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);