Resistor mesh: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: dial back precision) |
|||
Line 1,451: | Line 1,451: | ||
{{trans|C}} |
{{trans|C}} |
||
<lang perl>use strict; |
<lang perl>use strict; |
||
use warnings; |
|||
my ($w, $h) = (9, 9); |
my ($w, $h) = (9, 9); |
||
Line 1,487: | Line 1,488: | ||
sub iter { |
sub iter { |
||
my $diff = 1; |
my $diff = 1; |
||
while ($diff > 1e- |
while ($diff > 1e-15) { |
||
set_boundary(); |
set_boundary(); |
||
$diff = calc_diff(); |
$diff = calc_diff(); |
||
print "error^2: $diff\ |
#print "error^2: $diff\n"; # un-comment to see slow convergence |
||
for my $i (0 .. $h) { |
for my $i (0 .. $h) { |
||
for my $j (0 .. $w) { |
for my $j (0 .. $w) { |
||
Line 1,497: | Line 1,498: | ||
} |
} |
||
} |
} |
||
print "\n"; |
|||
my @current = (0) x 3; |
my @current = (0) x 3; |
||
Line 1,509: | Line 1,509: | ||
} |
} |
||
printf "R = %.6f", 2 / iter();</lang> |
|||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |