在matlab中从单个变量向矩阵添加值

时间:2016-05-13 08:06:33

标签: arrays matlab variables matrix plot

我有一个问题,我无法直接从变量向我的1 x 250矩阵添加值。这是代码。

COMPORT = 'COM4';
BAUDRATE = 115200;
s1 = serial(COMPORT, 'baudrate', BAUDRATE);
set(s1, 'Terminator', 10);
fopen(s1);
adc = 0;
N = 250;
values = zeros(1, N);
for n = 1:N
   adc = fscanf(s1);
   values(n) = adc;
   flushinput(s1);
   flushoutput(s1);
end
x = linspace(0, 250);
plot(x, n);

值(n)= adc似乎不起作用,我不知道如何绕过它。

1 个答案:

答案 0 :(得分:0)

这不起作用,因为values(n)是单个元素,fscanf(s1)的输出由几个元素组成。

也许你想使用细胞?

values{n} = adc;

使用n = zeros(1, N)替换预分配:n = cell(1,N);

请注意,您需要稍后在代码中进行一些更改。我会把那个留给你。