我建立一個NxN矩陣在MATLAB用下面的代碼:矩陣生成MATLAB
x = linspace(a,b,n);
for i=1:n
for j=1:n
A(i,j) = x(j)^(i-1);
end
A
i
b(i) = (1/i)*x(n)^i - (1/i)*x(1)^i;
end
我正在與一個= 1 B = 10和n = 10測試它。我得到預期的結果最多爲i = 8
I =
8
A =
列1至7分
1 1 1 1 1 1 1
1 2 3 4 5 6 7
1 4 9 16 25 36 49
1 8 27 64 125 216 343
1 16 81 256 625 1296 2401
1 32 243 1024 3125 7776 16807
1 64 729 4096 15625 46656 117649
1 128 2187 16384 78125 279936 823543
1 256 6561 65536 390625 1679616 5764801
列8至10
1 1 1
8 9 10
64 81 100
512 729 1000
4096 6561 10000
32768 59049 100000
262144 531441 1000000
2097152 4782969 10000000
16777216 43046721 100000000
但是從i = 9開始它成爲這樣:
I =
9
A =
1.0E + 09 *
列1至9
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0003 0.0005
0.0000 0.0000 0.0000 0.0000 0.0001 0.0003 0.0008 0.0021 0.0048
0.0000 0.0000 0.0000 0.0001 0.0004 0.0017 0.0058 0.0168 0.0430
0.0000 0.0000 0.0000 0.0003 0.0020 0.0101 0.0404 0.1342 0.3874
柱10
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0010
0.0100
0.1000
1.0000
有人可以告訴我發生了什麼?我在matlab方面並不是很有經驗(我主要使用C++或python),至今似乎無法自己弄清楚。
很抱歉,但你有什麼期待得到什麼? – PengOne
作爲代碼的替代方法,您可以簡單地編寫'[value,exponent] = meshgrid(a:b,0:(n-1)); A =價值^指數' – Jonas