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