23 Şubat 2011 Çarşamba

Matlab'ta Faktöriyel Hesaplama Sınırı ...

% Matlab'da Faktöriyel Sorunu ...
% Matlab Faktöriyelleri 170! e kadar hesaplayabilir.
% 172! in değerini buldurmak için , Yeni bir algoritma geliştirelim .

% ÖRNEĞİN : C(n,r) = n!/ (n-r)!.r! olduğuna göre
% C(178 , 175) i hesaplamaya çalışalım.

% I. Yöntem   178!/175!.3! i hesaplatmak
% II. Yöntem  farklı bir algoritma yazmak.

clear all,close all,clc;
n=input('Bir sayi giriniz:');
sonuc=1;
if n==0
    sonuc=1;
elseif n<0
    disp('Negatif sayi girdiniz');
else
   for k=1:n
       sonuc=sonuc*k;  %/* 171! sonuç vermez */
   end
   format long;
   fprintf('%d' ,n);
  fprintf('Faktöriyelin Değeri %d \n',sonuc);
 
end
% Bunu fonksiyona çevirebiliriz
%function fac(x)=f(n);



 % Program / algoritma 2 
 % burada n ve r değerleri 171 den büyük seçilse de sonuç verir.
  cnr=1;
  n=178 ;
  r=175;
  for k=1:r;
      cnr=cnr*(n-k+1)/k;
  end
  cnr

  % Bazı Matlab komutları ls , cd , who , whos , sms - sembolik işlem
  % yaptırmak için

Hiç yorum yok :