如何在MATLAB中围绕中心元素创建矩阵?

我想在MATLAB中创建一个矩阵(n乘n,n为奇数),该矩阵的中心元素固定,周围的元素以某个恒定值递增/递减。例如:

如何在MATLAB中围绕中心元素创建矩阵?

其中我的中心元素为0,周围的元素递减0.1。我从何处开始完全空白。非常感谢您的时间和帮助。

cy612 回答:如何在MATLAB中围绕中心元素创建矩阵?

此替代方法似乎比for循环快一点。

n = 7; % size
vector = -abs((1-n)/2:(n-1)/2)/10; % entries in middle row/column
x = min(vector,vector.') % final result
,
% 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
本文链接:https://www.f2er.com/3169312.html

大家都在问