Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.84 KB | None | 0 0
  1. use strict;
  2. use warnings;
  3.  
  4. $, = "  ";
  5. $\=$/;
  6. my $h = 0.1;
  7. my $aedge = 0;
  8. my $bedge = 1;
  9. my $n = int(($bedge - $aedge)/$h) + 1;
  10. my (@lambda, @mu, @y, @A, @B);
  11.  
  12. #$mu[0]=$lambda[0]=0;
  13.  
  14. $A[0] = 1;
  15. $B[0] = 0;
  16. my $xi = $aedge;
  17. for my $i(1..$n-1){
  18.         $xi += $h;
  19.         $A[$i] = 2 + $h*$h;
  20.         $B[$i] = $h*$h*(92 + 45*$xi*(1-$xi));
  21. }
  22. $A[$n] = 1 + $h;
  23. $B[$n] = -$h*(2*exp(1) + 43);
  24.  
  25. $lambda[1] = 0;
  26. $mu[1]     = 0;
  27.  
  28. for my $i(1..$n){
  29.         $lambda[$i+1] = 1/($A[$i] - $lambda[$i]);
  30.         $mu[$i+1] = ($mu[$i]-$B[$i])/($A[$i]-$lambda[$i]);
  31. }
  32.  
  33. $y[$n] = $mu[$n+1];
  34. for my $i(reverse(1..$n)){
  35.         print ($i);
  36.         $y[$i-1] = $lambda[$i]*$y[$i] + $mu[$i];
  37. }
  38.  
  39. open F, ">results.txt";
  40. $xi = 0;
  41. for my $i(0..$n){
  42.         print F "($xi;$y[$i])";
  43.         $xi += $h;
  44. }
  45.  
  46. print @B;
  47. print @lambda;
  48. print @mu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement