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中存储1和0的数组_Matlab_If Statement - Fatal编程技术网

如何在MATLAB中存储1和0的数组

如何在MATLAB中存储1和0的数组,matlab,if-statement,Matlab,If Statement,我的平均值大于0,然后加100个1,否则加100个0,但我不能让它工作 zero = zeros(1,100); one = ones(1, 100); demodulation = [zero zero zero zero zero zero zero zero]; for i=1:1:8; if (average > 0) demodulation(i) = ones(1,100); else demodulation(i) = zeros

我的平均值大于0,然后加100个1,否则加100个0,但我不能让它工作

zero = zeros(1,100);
one = ones(1, 100);
demodulation = [zero zero zero zero zero zero zero zero];

for i=1:1:8;
 if (average > 0)
        demodulation(i) =  ones(1,100);
    else
        demodulation(i) = zeros(1,1);
    end
但是我在MATLAB中得到了这个错误:


根据这个错误,我猜
I
是一个索引。不能在另一个向量的单个元素中存储1x100向量-需要指定目标向量的100个元素来存储它

假设
i
介于1和8之间,您要做的是:

demodulation((1:100) + (i-1)*100) = ones(1,100);

类似地,对于零的情况,您当前只是根据该错误分配一个
0

,我猜
I
是一个索引。不能在另一个向量的单个元素中存储1x100向量-需要指定目标向量的100个元素来存储它

假设
i
介于1和8之间,您要做的是:

demodulation((1:100) + (i-1)*100) = ones(1,100);

类似地,对于零的情况,当前只分配一个
0

假设i=0:100:800,则需要

   demodulation(i+1:i+100) = 1;
如果
i=1:8
,则需要:

   demodulation(1+(i-1)*100:i*100) = 1;
相反,对于另一种情况

注意,由于
average
似乎并不依赖于
i
,因此您可以简单地编写

zero = zeros(1,100);
one = ones(1, 100);
demodulation = [zero zero zero zero zero zero zero zero] + average>0;
或者你可以

if average>0
    demodulation = ones(1,800)
else
    demodulation = zeros(1,800)

最大限度地减少了内存分配和设置。

假设i=0:100:800,您需要类似

   demodulation(i+1:i+100) = 1;
如果
i=1:8
,则需要:

   demodulation(1+(i-1)*100:i*100) = 1;
相反,对于另一种情况

注意,由于
average
似乎并不依赖于
i
,因此您可以简单地编写

zero = zeros(1,100);
one = ones(1, 100);
demodulation = [zero zero zero zero zero zero zero zero] + average>0;
或者你可以

if average>0
    demodulation = ones(1,800)
else
    demodulation = zeros(1,800)

最大限度地减少了内存分配和设置。

i的值是多少?它不依赖于i,并且可以工作,因此两个答案都是正确的
i
的值是多少?它不依赖于i,并且可以工作,所以这两个答案都是正确的,解调也可以是二维阵列。