在matlab中,如何使用其索引創建矩陣M
來填充值?例如,假設我想創建一個3x3
矩陣M
這樣使用矩陣索引創建矩陣
M(i,j) = i+j --> [ 2 3 4; 3 4 5; 4 5 6]
我試圖使載體:x = 1:3'
,y = 1:3
然後
M = x(:) + y(:)
但預計它沒有工作。
有關如何做到這一點的任何想法?
謝謝!
UPDATE
的M
其實我的願望是:
M(i,j) = -2^(-i - j).
在matlab中,如何使用其索引創建矩陣M
來填充值?例如,假設我想創建一個3x3
矩陣M
這樣使用矩陣索引創建矩陣
M(i,j) = i+j --> [ 2 3 4; 3 4 5; 4 5 6]
我試圖使載體:x = 1:3'
,y = 1:3
然後
M = x(:) + y(:)
但預計它沒有工作。
有關如何做到這一點的任何想法?
謝謝!
UPDATE
的M
其實我的願望是:
M(i,j) = -2^(-i - j).
一種方法是
x = 1:3;
z = ones(1,3);
N = z'*x + x'*z
M = -2 .^ -(z'*x + x'*z)
% Or simply
% M = -2 .^ -N
輸出:
N =
2 3 4
3 4 5
4 5 6
M =
-0.250000 -0.125000 -0.062500
-0.125000 -0.062500 -0.031250
-0.062500 -0.031250 -0.015625
bsxfun(@(x,y)(-2.^(-x-y)), (1:3).', 1:3)
這使用穆赫辛Nosratinia與你希望的功能應答。
謝謝,很好的方式來做到這一點! – jon