交替1和-1元素的矩阵 - MATLAB

el1*_*l11 4 matlab matrix

我想知道如何n x n按照以下顺序创建矩阵,例如

n=3;

 1 -1  1     
-1  1 -1
 1 -1  1

n=4;

 1 -1  1 -1
-1  1 -1  1
 1 -1  1 -1
-1  1 -1  1
Run Code Online (Sandbox Code Playgroud)

每个号码n.

ray*_*ica 5

另一种方法是产生一个meshgrid点,然后计算:

(-1)^(x+y)  ,
Run Code Online (Sandbox Code Playgroud)

其中xy是网格内的2D坐标位置.这种方法背后的主要直觉是当你取-1并将其加到奇数时,你返回-1,如果它是偶数,则它是+1.通过查看2D网格中的每个位置,当您将(x,y)坐标相加时,奇偶校验(奇数/偶数)在奇数和偶数之间交替...当然,假设整数坐标.您可以通过获取每个(x,y)位置的总和,并将其应用于以-1为基础的功率系数来实现我们想要的交替矩阵.

通过考虑如何计算矩阵的行列式,我对这种方法的启发.查看拉普拉斯关于计算行列式的公式:http://en.wikipedia.org/wiki/Determinant#Laplace.27s_formula_and_the_adjugate_matrix

因此:

n = 3; %// Define n here
[X,Y] = meshgrid(1:n, 1:n);
A = (-1).^(X+Y)

A =

     1    -1     1
    -1     1    -1
     1    -1     1
Run Code Online (Sandbox Code Playgroud)

如果您想显示以下内容n = 4:

A =

     1    -1     1    -1
    -1     1    -1     1
     1    -1     1    -1
    -1     1    -1     1
Run Code Online (Sandbox Code Playgroud)