将矩阵导出到Microsoft Access。使用数据库/插入时出错

时间:2018-11-27 12:59:01

标签: database matlab ms-access matrix export

你好! 下面是执行以下任务的代码:

    使用单元格“ A”的矩阵获得尺寸为3 * 2的矩阵“ Q”。
  • 然后将矩阵“ Q”以相同的尺寸(3行2列)导出到Microsoft Access。

(!) 困难是,只有矩阵的第一行被写入Microsoft Access(三个可用行中),然后显示错误消息:

  • 使用数据库/插入错误(第213行)常规错误

  • test_matlab(第22行)中的错误insert(conn,'Rtu',colnames,Q);

(?),请告诉我,为了在Microsoft Access中记录矩阵的所有三行,有必要添加/更正代码吗?

Q=[];
A={1, [3 5 8]} % array of cells

for j=1:2 % matrix column index
for i=1:3 % matrix row index
if j==1
Q(i,j)=A{1,j};
else 
Q(i,j)=A{1,j}(1,i);
end
end
end

Q

conn = database('QWERT', '', '');
colnames = {'u1', 'u2'};

insert(conn, 'Rtu', colnames, Q);
close(conn);
  • 我使用的是Matlab R2014b版本。

enter image description here

1 个答案:

答案 0 :(得分:0)

我不使用matlab,但是正常的编程实践会建议将插入内容放入您的外部for循环中: 这行得通吗?

Q=[];
A={1, [3 5 8]} % array of cells
conn = database('QWERT', '', '');
colnames = {'u1', 'u2'};

for j=1:2 % matrix column index
  for i=1:3 % matrix row index
    if j==1
      Q(i,j)=A{1,j};
    else 
      Q(i,j)=A{1,j}(1,i);
    end
  end
  insert(conn, 'Rtu', colnames, Q);
end

Q

close(conn);

或在插入处放置另一个for循环...