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
您好我正在尝试将二进制值写入数组x_fp_bin(n),但收到错误Subscripted assignment dimension mismatch
。有人可以帮助我吗
答案 0 :(得分:2)
这是一行:
x_fp_bin(n) = bin(x_fp_temp);
失败了。基本上是因为你正在返回一个字符数组(1和0)并且你不能将它直接放入一维数组中。要么使用更大的数组:
x_fp_bin(n,:) = bin(x_fp_temp);
或使用cellstrs:
x_fp_bin(n) = {bin(x_fp_temp)};
另外,您是否有使用循环而不是使用数组表示法的原因?
bin_arr = bin(fi((1:99)'./100, 1));
答案 1 :(得分:0)
只是猜测,因为你没有写出哪一行给你这个错误。
这一行:
x_fp_temp=fi(x_d(n),1);
定义了一个n x 1
这样:
x_fp_bin(n)
是标量值(即1 x 1
)
在我看来,你正试图将一个向量分配给一个数组。