2011-12-02 3 views
1

I 다음 코드 MATLAB에서 NXN 행렬을 구축하고 :매트릭스 생성 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 

I는 A = 1, B = 10, N = 10로 검사하고있다. 나는 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 
을 통해 전 8

=

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 = 예상 한 결과 전까지 얻을

그러나 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++이나 파이썬을 사용한다.) 지금까지는 나 자신을 알아낼 수 없다.

+0

미안하지만, 당신이 얻을 기대? – PengOne

+0

코드 대신 간단히'[value, exponent] = meshgrid (a : b, 0 : (n-1));라고 쓸 수 있습니다. A = 값.^지수 ' – Jonas

답변

2

큰 숫자의 경우 형식 지정 문제 일뿐입니다. 시도해보십시오.

sprintf('%20.0f', A(end,end)) 

으로 표시되며 정확한 숫자가 표시됩니다. 적어도 이중 점 표현 문제에 부딪 힐 곳까지 ...

+0

고마워! Matlab 출력 형식은 실제로 나를 혼란스럽게합니다. – user381261

1

데이터 표시에 일반적인 크기 조정이 적용되기 때문에. 출력에서 확인하십시오 :

A = 

1.0e+09 * 

매트릭스의 모든 항목에서 10^9의 공통 인수가 계산되었습니다.

당신은 사용하여 출력 디스플레이를 조정할 수 있습니다

:

format short g