Insert missing values in specified positions and use for loop
2 次查看(过去 30 天)
显示 更早的评论
Hi everybody could anyone help me in my problem: i have an array with known missed values in known places . I want to insert these values in the specified positions and do it for many arrays. Example a=[2 4 6 3 3 5 3 4 1 0 0 0 0] Li=[2 8 10 12] %locations of values in array Val=[6 7 8 9] Solution should be Sol=[2 6 4 6 3 3 5 7 3 8 4 9 1] Also how to apply this in for loop for multiple arrays Thanks in advance
0 个评论
采纳的回答
KSSV
2020-6-25
This problem is dicussed multiple times....you can checki there in this useful link:
5 个评论
KSSV
2020-6-26
a = [1 2 3 4 5 6 7 8 9; 3 4 1 2 5 6 7 2 8; 9 8 1 2 5 6 7 2 3];
val = [ 6 7 8 9] ;
col = [2 8 10 12] ;
b = [1 6 2 3 4 5 6 7 7 8 8 9 9; 3 6 4 1 2 5 6 7 7 8 2 9 8; 9 6 8 1 2 5 6 7 7 8 2 9 3] ;
[m,n] = size(a) ; p = length(col) ;
iwant = zeros(m,n+p) ;
for i = 1:m
iwant(i,col) = val ;
% Make logical indices
idx = logical(zeros(1,n+p)) ;
idx(col) = 1 ;
iwant(i,~idx) = a(i,:) ;
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!