# How to assign a row matrix to another row matrix

2 ビュー (過去 30 日間)
Andrea Sbaragli 2021 年 5 月 11 日
コメント済み: Andrea Sbaragli 2021 年 5 月 11 日
This is my function:
function [T1,T2, T3] = dispatch(A)
T1 = zeros(size(A));
T2 = zeros(size(A));
T3 = zeros(size(A));
i=1;
j=1;
k=1;
z=1;
for i=1:height(A)
s=1;
if A {i,2}== 1; % tagID=1
for s=1:4
T1 (j,s) = (A(i,s));
s=s+1
end
j= j+1;
end
if A{i,2}== 2; % tagID=2
for s=1:4
T2(k,s) = A(i,s);
s=s+1
end
k= k+1;
end
if A{i,2}== 3; % tagID=3
for s=1:4
T3(z,s) = (A(i,s));
s=s+1
end
z= z+1;
end
i = i+1;
end
end
it returns me that error:
The following error occurred converting from table to double:
Undefined function 'double' for input arguments of type 'table'. To convert to numeric, use the TABLE2ARRAY function, or extract data using dot or brace subscripting.

サインインしてコメントする。

### 回答 (1 件)

Jan 2021 年 5 月 11 日

The error message suggests:
To convert to numeric, use the TABLE2ARRAY function
In one line you write:
if A {i,2}== 1
So you decided to use the brace indexing. Then you write:
T1 (j,s) = (A(i,s))
Now you try to use the parentheses. Why?
##### 1 件のコメント表示非表示 なし
Andrea Sbaragli 2021 年 5 月 11 日
if A {i,2}== 1 here I used these brackets because == was not supported otherwise
T1 (j,s) = (A(i,s)) here brace index returns me the same error.
Yes I have already use table2array function but it does not work.
It is strange because inside A all values are in double format..

サインインしてコメントする。

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by