replacing rows with values from another matrix
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi,
i have 1 3625 x 1 matrix. i have used the following code to flip values based on an index. It gives me a matrix of 1185x1. (as expected)
next =1;
% figure out origin and flip the x and y axis accordingly
for i=1: length(pts)
x_values = flip(x(next:pts(i))) % this finds the walks that start at the other side of origin
next=pts(i);
end
this gives me the output i expect.
now where i am having trouble is with replacing the values in my previous matrix with these new values....
pts is 1250, 2434, 3624.
the new matrix x_values is from pts 1250 - 2434.
댓글 수: 2
David Hill
2021년 3월 15일
Not enough information to help. Showing sample of input and expected output would help. Your loop is over-riding x_values during each cycle of the loop. What does the pts() array look like?
채택된 답변
ANKUR KUMAR
2021년 3월 16일
Since you have not attached any speciific data, I am generating random values and indices to change.
clc
clear
original_mat=randi(20,1,100);
new_mat=randi(20,1,30);
index_to_change=45:74;
original_mat(index_to_change)=new_mat;
Hope this helps.
댓글 수: 3
ANKUR KUMAR
2021년 3월 17일
clc
clear
[~, ~, raw] = xlsread('expected.xlsx','Sheet1','C1:D3624');
raw(cellfun(@(x) ~isempty(x) && isnumeric(x) && isnan(x),raw)) = {''};
cellVectors = raw(:,2);
raw = raw(:,1);
data = reshape([raw{:}],size(raw));
original_mat = data(:,1);
new_mat = cellVectors(:,1);
clearvars data raw cellVectors;
replace_index=cellfun(@(x) ~isempty(x) & isnumeric(x), new_mat);
original_mat(replace_index)=cell2mat(new_mat(replace_index));
updated_matrix=original_mat;
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!