【问题标题】:Adding values to matrix from a single variable in matlab从matlab中的单个变量向矩阵添加值
【发布时间】:2016-05-13 08:06:33
【问题描述】:

我有一个问题,我无法直接从变量向我的 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);

values(n) = adc 似乎不起作用,我不知道如何解决它。

【问题讨论】:

  • 您遇到了哪个错误?变量 adc 持有哪个值?
  • 试图访问 adc(5);索引超出范围,因为 numel(adc)=4。 sensorTest 错误(第 11 行) values(n) = adc(n);

标签: arrays matlab variables matrix plot


【解决方案1】:

这不起作用,因为values(n) 是单个元素,而fscanf(s1) 的输出包含多个元素。

也许您想使用单元格?

values{n} = adc;

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 2014-07-06
    • 2011-10-28
    • 2013-02-12
    相关资源
    最近更新 更多