【问题标题】:How do I create a matrix in MATLAB surrounding the center element?如何在 MATLAB 中围绕中心元素创建矩阵?
【发布时间】:2019-11-04 03:02:07
【问题描述】:

我想在 MATLAB 中创建一个矩阵(n x n,n 为奇数),其中心元素固定,其周围元素增加/减少某个常数值。例如:

我的中心元素为 0,周围的元素递减 0.1。从哪里开始,我几乎是空白的。非常感谢您的时间和帮助。

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    这种替代方法似乎比for 循环快一些。

    n = 7; % size
    vector = -abs((1-n)/2:(n-1)/2)/10; % entries in middle row/column
    x = min(vector,vector.') % final result
    

    【讨论】:

      【解决方案2】:
      % works for only odd numbers as your requirement
      n = 5;       %  matrix size
      r = (n-1)/2;  % surrounding rows
      x = zeros(n);   % array initialization
      c = r-1:-1:0;
      % assigning  values
      for i = 1:r
          x([1+c(i), end-c(i)], :) = -i/10;
          x(:,[1+c(i), end-c(i)]) = -i/10;
      end
      x   % final matrix
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-10
        相关资源
        最近更新 更多