2011-02-18 3 views
4

Tupper's formulae을 Matlab에 플롯하려했습니다. 분명히 'k'가 그렇게 큰 값이기 때문에 MATLAB이 그것을 받아들이지 않을 수도 있습니다.Tupper의 자체 참조 공식 - MATLAB?

제안 사항?

+0

그건 내가 본 중에 가장 우스운 공식입니다. –

+0

@MLW : 너는 내기했다! ..... 그러나 그것은 시험할만한 가치가있다! ;-) – Arkapravo

답변

9

큰 도구 모음을 사용하여 큰 정수를 계산할 수 있습니다.

% use the symbolic toolbox to represent the big integer k 
k = sym(['960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350' ... 
    '718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995' ... 
    '165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183' ... 
    '454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874' ... 
    '461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014' ... 
    '655997933798537483143786841806593422227898388722980000748404719']); 

[x,y] = meshgrid(0:1:106, 0:1:16); 

% evaluate the tupper formula 
tupper = rem(floor(floor((y+k)/17) .* 2.^(-17*x - rem((y+k), 17))), 2); 

% convert from symbolic to Matlab's native double precision 
tupper = double(tupper); 

% display it! 
image(fliplr((1-tupper)*255)); 
colormap gray 
axis equal 

title('Tupper''s (not-so-)self-referential formula!'); 
set(gca, 'XTick', [], 'YTick', []); 

을 그리고 결과 : resulting Matlab figure

참고 : 여기에

내가 this discussion over at metafilter에 의해 부분적으로 영감을 탑파 식을, 음모 채찍질 일부 코드 실제로 아무것도 자기 참조가 아닙니다에 대한 공식; 차이 값을 k으로 선택하면 같은 크기의 다른 이미지를 표시 할 수 있습니다. 실제 큐린이라면 훨씬 더 흥미로울 것입니다!

+0

당신은 그것을 찍었습니다! .... 나는이 우아함을 생각해 내는데 어려움을 겪었을 것이다. 그러나 나는 '참된 QUINE'이 아닌 당신의 관찰을 좋아한다. - 수학 공식이 '진정한 QUINE'으로 연결된다면, 우리는 우리의 전체 수학 철학 ... – Arkapravo