Add diagonal Value in cell array

hi
I have following array. I want to add NaN at diagonal position of each cell. LIKE x{1,1}, NaN will be added at x{1,1}(1,1).. for x{1,2}, NaN will be added at x{1,2}(1,2) & so on
x= {[0.79,0.31,0.24,0.71,0.1],[0.79,0.12,0.71,0.62,0.24]}

 采纳的回答

Birdman
Birdman 2018-1-11
编辑:Birdman 2018-1-11
for i=1:size(x,2)
x{1,i}(i)=NaN;
end
Type
x{1,:}
and see the result.

3 个评论

Thank You. But it replaces the first value with NaN. I want to keep other values as it is.
x= {[NaN,0.79,0.31,0.24,0.71,0.1],[0.79,NaN, 0.12,0.71,0.62,0.24]}
Then,
x{1,1}(2:end+1)=x{1,1}(1:end);
x{1,2}(2:end+1)=x{1,2}(1:end);
for i=1:size(x,2)
x{1,i}(i)=NaN;
end

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by