У меня есть две таблицы T1 и T2 с одинаковым количеством столбцов, но разным количеством исходных данных.
Столбцы x, y, z из обеих таблиц были созданы, как показано ниже:
clear all; close all; XSTART=5; XEND=20; YSTART=5; YEND=15; STEP1=1; STEP2=5; %******************* CREATE TABLE1 ******************** xvector1 = XSTART:STEP1:XEND; yvector1 = YSTART:STEP1:YEND; numX1 = numel(xvector1); numY1 = numel(yvector1); yvector1 = repmat(yvector1(:),numX1,1); xvector1 = repmat(xvector1 ,numY1,1); COORDINATES1= [xvector1(:) yvector1]; VALUE1=(1:1:numX1*numY1)'; VALUE1(1:end,1)=10; T1=[COORDINATES1 VALUE1]; %******************* CREATE TABLE2 ******************** xvector2 = XSTART:STEP2:XEND; yvector2 = YSTART:STEP2:YEND; numX2 = numel(xvector2); numY2 = numel(yvector2); yvector2 = repmat(yvector2(:),numX2,1); xvector2 = repmat(xvector2 ,numY2,1); COORDINATES2= [xvector2(:) yvector2]; VALUE2 =(1:numX2*numY2)'; T2=[COORDINATES2 VALUE2];
Теперь я хочу создать таблицу T3, заменив значения третьего столбца из T1 значениями третьего столбца из T2 с той же координатой x, y.
Ожидаемый T3 после правильной замены будет иметь следующие компоненты:
5 5 1 5 6 10 5 7 10 5 8 10 5 9 10 5 10 2 5 11 10 5 12 10 5 13 10 5 14 10 5 15 3 6 5 10 6 6 10 6 7 10 6 8 10 6 9 10 6 10 10 6 11 10 6 12 10 6 13 10 6 14 10 6 15 10 7 5 10 7 6 10 7 7 10 7 8 10 7 9 10 7 10 10 7 11 10 7 12 10 7 13 10 7 14 10 7 15 10 8 5 10 8 6 10 8 7 10 8 8 10 8 9 10 8 10 10 8 11 10 8 12 10 8 13 10 8 14 10 8 15 10 9 5 10 9 6 10 9 7 10 9 8 10 9 9 10 9 10 10 9 11 10 9 12 10 9 13 10 9 14 10 9 15 10 10 5 4 10 6 10 10 7 10 10 8 10 10 9 10 10 10 5 10 11 10 10 12 10 10 13 10 10 14 10 10 15 6
и так далее.
Я надеюсь, что кто-то знает, как это сделать.
ПРИМЕЧАНИЕ.
Matlabsolutions.com предоставляет последнюю справку по домашним заданиям MatLab, справку по назначению MatLab, помощь по финансам для студентов, инженеров и исследователей в нескольких отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для B.E, B .Tech, ME, M.Tech, Ph.D. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Ты это имеешь ввиду:
T3 = T1; [c, ia, ib] = intersect(T2(:, 1:2), T3(:, 1:2), 'rows'); T3(ib, 3) = T2(ia, 3)
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ