Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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 - Fatal编程技术网

Matlab 如何将一个向量分成两个相等的向量?

Matlab 如何将一个向量分成两个相等的向量?,matlab,Matlab,我需要在MATLAB中将一个向量分成两个相等的向量。你能帮我吗? 例如,如果我有向量x=[1 3 7 9],我需要两个向量将其拆分为y=[1 3]和z=[7 9]。我建议检查一些基本的matlab操作 如果取向量x 你可以很容易地将他分成不同的新阵列。如果你想使用相同长度的数组,你应该使用numel或size来获得大小,然后取一半 length_of_x=numel(x); new_length=ceil(length_of_x/2); 我使用ceil四舍五入,以防你的x没有长度:2,4,6,

我需要在MATLAB中将一个向量分成两个相等的向量。你能帮我吗?
例如,如果我有向量x=[1 3 7 9],我需要两个向量将其拆分为y=[1 3]和z=[7 9]。

我建议检查一些基本的matlab操作

如果取向量x

你可以很容易地将他分成不同的新阵列。如果你想使用相同长度的数组,你应该使用numel或size来获得大小,然后取一半

length_of_x=numel(x);
new_length=ceil(length_of_x/2);
我使用ceil四舍五入,以防你的x没有长度:2,4,6,8等等,而是1,3,5。。。然后您可以使用1:new_length获得前半部分,使用new_length+1:end获得后半部分

x1=x(1:new_length);
x2=x(newlength+1:end);

将是您任务的结果

我建议查看一些基本的matlab操作

如果取向量x

你可以很容易地将他分成不同的新阵列。如果你想使用相同长度的数组,你应该使用numel或size来获得大小,然后取一半

length_of_x=numel(x);
new_length=ceil(length_of_x/2);
我使用ceil四舍五入,以防你的x没有长度:2,4,6,8等等,而是1,3,5。。。然后您可以使用1:new_length获得前半部分,使用new_length+1:end获得后半部分

x1=x(1:new_length);
x2=x(newlength+1:end);
将是您任务的结果

end是MATLAB中的一个聪明的命令,在许多情况下都可以作为快捷方式使用,例如,当您只想获取向量的前半部分时,如下所示:

v(1:end/2);
您可以在匿名函数句柄中使用deal将向量拆分为两个:

split_vec = @(x) deal(x(1:floor(end/2)), x(floor(end/2)+1:end));

[a, b] = split_vec(1:10)
a =
     1     2     3     4     5
b =
     6     7     8     9    10
end是MATLAB中的一个聪明的命令,在许多情况下可以用作快捷方式,例如,当您只想获取向量的前半部分时,如下图所示:

v(1:end/2);
您可以在匿名函数句柄中使用deal将向量拆分为两个:

split_vec = @(x) deal(x(1:floor(end/2)), x(floor(end/2)+1:end));

[a, b] = split_vec(1:10)
a =
     1     2     3     4     5
b =
     6     7     8     9    10

把它放在函数中是个好主意+1如果要将其设置为函数,则可以沿指定的维度拆分,或者检查维度数,如果大于1,则抛出错误…@Dan您是对的,但另一方面,他的函数称为dividevectorintotoo。。。所以我想你们可以论证,它只适用于向量,根据定义是一维的。把它放在一个函数里是个好主意+1如果要将其设置为函数,则可以沿指定的维度拆分,或者检查维度数,如果大于1,则抛出错误…@Dan您是对的,但另一方面,他的函数称为dividevectorintotoo。。。所以我想你们可以论证,它只适用于向量,根据定义是一维的。