Help sorting a matrix into other matrix

조회 수: 1 (최근 30일)
Conner Carriere
Conner Carriere 2021년 2월 9일
답변: darova 2021년 2월 11일
I have one matrix that we will call the postitions matrix
positions = (1 2 3, 4 5 6, 7 8 9);
Then we have the matrix that needs to be sorted into the positions matrix
XYColor =
1 3 1 1 1
1 2 1 0 1
1 1 0 1 0
2 1 0 0 1
2 2 1 1 1
2 3 1 0 0
3 1 1 0 0
3 2 1 0 0
3 3 1 1 0
%x y rgb triplet associated with the x and y
What I need to do is take the x and y and put it a certain place in the position matrix and name that place by its color
This is a example i hand typed
WCent =
Green Blue Red
(1 1) (2 1) (3 1)
Orange White Red
(1 2) (2 2) (3 2)
White Red Yellow
(1 3) (2 3) (3 3)
so position 3 was replaced by the color white, which was the color for the x=1 and y=3 XYColor
My intial idea was to a triple for loop along with some ifs, but I am not able to due to my beginner status

답변 (1개)

darova
darova 2021년 2월 11일
What about interpolation?
clc,clear
XYColor = [
1 3 1 1 1
1 2 1 0 1
1 1 0 1 0
2 1 0 0 1
2 2 1 1 1
2 3 1 0 0
3 1 1 0 0
3 2 1 0 0
3 3 1 1 0];
x = XYColor(:,1);
y = XYColor(:,2);
r = XYColor(:,3);
g = XYColor(:,4);
b = XYColor(:,5);
FR = scatteredInterpolant(x,y,r);
FG = scatteredInterpolant(x,y,g);
FB = scatteredInterpolant(x,y,b);
[x1,y1] = meshgrid(1:0.2:3);
r1 = FR(x1,y1);
surf(x1,y1,r1)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by