在矩阵的一行中插入元素[MATLAB]

在矩阵的一行中插入元素[MATLAB],matlab,matrix,Matlab,Matrix,我有一个矩阵a A = [1 0 0 0 1 0 ;0 1 0 0 0 1;0 0 0 1 0 0;0 0 1 0 0 0]; A = 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 我想在第二行的第三列中添加一个零。为了保持第二行的最后一个元素的相

我有一个矩阵a

A = [1 0 0 0 1 0 ;0 1 0 0 0 1;0 0 0 1 0 0;0 0 1 0 0 0];

A =

    1     0     0     0     1     0
    0     1     0     0     0     1
    0     0     0     1     0     0
    0     0     1     0     0     0  
我想在第二行的第三列中添加一个零。为了保持第二行的最后一个元素的相同尺寸,也就是说,必须删除一个元素

A =

     1     0     0     0     1     0
     0     1     0     0     0     0
     0     0     0     1     0     0
     0     0     1     0     0     0
如何在一行代码中完成这两个步骤

此外,如果我需要在第三行的第四列中执行相同的操作,是否有一种方法可以使用一行代码执行第二行和第三行操作,而不使用循环

此外,我可能需要在特定行中插入多个零

最后,我要处理1000x1000或更高维度的矩阵,所以我需要一个非常快速的代码


有人能帮我解决这些问题吗?

在这种情况下,for循环很好,它比调用函数句柄更快:

function [ A ] = InsertValue( A, RowColVal )
    % example: RowColVal=[2,3,0; 4,1,0.3; ];
    for i=1:size(RowColVal)
        row=RowColVal(i,1);
        col=RowColVal(i,2);
        val=RowColVal(i,3);
        A(row,col:end)=[val, A(row,col:end-1)] ;
    end
end
要测试的脚本:

A = [1 0 0 0 1 0 ;0 1 0 0 0 1;0 0 0 1 0 0;0 0 1 0 0 0];
%A=rand(1000);
RowColVal=...
    [2,3,0; 
    4,1,1;];
[ A ] = InsertValue( A, RowColVal )

非常感谢你。