changeset 2506:af4a61237e05 octave-forge

Value in zero
author sis-sou
date Wed, 20 Sep 2006 16:36:11 +0000
parents 4367971980b9
children 47329999217e
files main/specfun/inst/Si.m
diffstat 1 files changed, 14 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/main/specfun/inst/Si.m	Wed Sep 20 16:30:28 2006 +0000
+++ b/main/specfun/inst/Si.m	Wed Sep 20 16:36:11 2006 +0000
@@ -29,17 +29,21 @@
 	   endif
 		s = size(x)(2);
 		for t = 1:s
-			if(imag(x(t)) == 0)
-				F = @(x) sin(x)./x;
-				y(t) = quad(F,0,x(t));
+			if( x == 0)
+				y = 0;
 			else
-				y(t) = 0;
-				for k = 0:100
-					y(t) = y(t) + (besselj(k + 0.5,x(t)./2)).^2;
-				endfor
-				y(t) = y(t).*pi;
-				if(real(x(t))==0)
-					y(t)=i.*imag(y(t));
+				if(imag(x(t)) == 0)
+					F = @(x) sin(x)./x;
+					y(t) = quad(F,0,x(t));
+				else
+					y(t) = 0;
+					for k = 0:100
+						y(t) = y(t) + (besselj(k + 0.5,x(t)./2)).^2;
+					endfor
+					y(t) = y(t).*pi;
+					if(real(x(t))==0)
+						y(t)=i.*imag(y(t));
+					endif
 				endif
 			endif
 		endfor