How to match an input value with values stored in array or a file
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone I am new to Matlab. I have a matrix consists of four columns. The first column is the object number, the second column is the x-coordinate of the object, the third column is the y-coordinate of the object and the fourth column is the size of the object.
I am measuring the x and y coordinates and the size of objects in the room. For each measured object, I want to compare the x and y coordinate of this object with the x and y coordinates of all the objects in the array. If these match with the x and y of any object in the array then I will put the highest size in the fourth column.
If the x and y coordinates of the object didn’t match any object in the array, then I want to add this object in a new row in the same array with its x and y and size.
For example A=[1, 3, 4, 1.5; 2, 4, 5, 1.6; 3, 5, 7, 2.2]
If I measure an object with x=3, y=4, and size=2.5 then the x and y for this object will match with the object in the first row and A will be
A=[1, 3, 4, 2.5; 2, 4, 5, 1.6; 3, 5, 7, 2.2]
if the new object has x=6, y=7, size=1.5, this object will not match with any one in the array and it will be added in a new row and A will be
A=[1, 3, 4, 2.5; 2, 4, 5, 1.6; 3, 5, 7, 2.2; 4, 6, 7, 1.5]
could any one please help me to write the codes for my problem. your help is highly appriciated
0 个评论
采纳的回答
Andrei Bobrov
2013-5-30
A=[1, 3, 4, 1.5; 2, 4, 5, 1.6; 3, 5, 7, 2.2]
newobjects = [ 3, 4, 4.5; 7, 7, 2.8]
B = [A(:,2:end);newobjects];
[a1,b2] = unique(B(:,1:end-1),'last','rows');
out = [(1:size(a1,1))', a1,B(b2,end)];
更多回答(1 个)
Muruganandham Subramanian
2013-5-30
编辑:Muruganandham Subramanian
2013-5-30
A=[1, 3, 4, 1.5;
2, 4, 5, 1.6;
3, 5, 7, 2.2]
A_size=size(A);
inp_1=input(' ');
inp_2=input(' ');
inp_3=input(' ');
for i=1:A_size(:,1)
for j=1:A_size(:,1)
if A(i,j)==(inp_1,inp_2) && j~=1
A(i,j+1)=inp_3;
else
A(i+1,j+1)=[j+1, inp_1, inp_2, inp_3];
end
I dont have matlab to check this, try this
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!