Matlab 将二进制值写入数组

Matlab 将二进制值写入数组,matlab,Matlab,您好,我正在尝试将二进制值写入数组x_fp_binn,,但得到错误下标赋值维度不匹配。请有人帮我解决这个问题吗?只是猜测一下,因为您没有写入哪一行会给您带来错误 这一行: for n = 1:99 k(n) = n; x_d(n) = n/100; x_fp_temp=fi(x_d(n),1); x_fp_bin(n)=bin(x_fp_temp) end 定义一个n x 1的数组 这: 是一个标量值,即1 x 1 在我看来,您试图将向量分配给数组。这

您好,我正在尝试将二进制值写入数组x_fp_binn,,但得到错误下标赋值维度不匹配。请有人帮我解决这个问题吗?

只是猜测一下,因为您没有写入哪一行会给您带来错误

这一行:

for n = 1:99
    k(n) = n;
    x_d(n) = n/100;    
    x_fp_temp=fi(x_d(n),1);

    x_fp_bin(n)=bin(x_fp_temp)
end
定义一个n x 1的数组

这:

是一个标量值,即1 x 1

在我看来,您试图将向量分配给数组。

这是一行:

x_fp_bin(n)
这让你失望。基本上,这是因为返回的是字符1和0的数组,而不能将其直接放入一维数组中。或者使用更大的数组:

x_fp_bin(n) = bin(x_fp_temp);
或使用手机:

x_fp_bin(n,:) = bin(x_fp_temp);
另外,使用循环而不是使用数组表示法有什么原因吗

x_fp_bin(n) = {bin(x_fp_temp)};

以下代码不会在我的计算机上引发错误。n=99;k=1:n';x_d=k/100;x_fp_bin=binfix_d,1;您尚未显示fi或bin的代码,因此很难说。另外,您还没有指定导致错误消息的代码行。fi和bin是@Aabaz:Ah中的Matlab函数,我明白了。那么,他们的名字就很糟糕了!实际上,当我运行suri的代码时,错误由x_fp_binn=binx_fp_temp引起,其中binx_fp_temp的输出是1x16字符数组1和0。但是在我上面的注释中给出的代码工作得很好。+ 1,如果你决定使用循环,考虑预先分配变量。
x_fp_bin(n) = {bin(x_fp_temp)};
bin_arr = bin(fi((1:99)'./100, 1));