diff options
author | priyanka | 2015-06-24 15:03:17 +0530 |
---|---|---|
committer | priyanka | 2015-06-24 15:03:17 +0530 |
commit | b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b (patch) | |
tree | ab291cffc65280e58ac82470ba63fbcca7805165 /1332/CH19/EX19.8/19_8.sce | |
download | Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.gz Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.tar.bz2 Scilab-TBC-Uploads-b1f5c3f8d6671b4331cef1dcebdf63b7a43a3a2b.zip |
initial commit / add all books
Diffstat (limited to '1332/CH19/EX19.8/19_8.sce')
-rwxr-xr-x | 1332/CH19/EX19.8/19_8.sce | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/1332/CH19/EX19.8/19_8.sce b/1332/CH19/EX19.8/19_8.sce new file mode 100755 index 000000000..6765fcef2 --- /dev/null +++ b/1332/CH19/EX19.8/19_8.sce @@ -0,0 +1,95 @@ +//Example 19.8
+//Variable Coefficients
+//Page no. 663
+clc;clear;close;
+
+//simple explicit method
+printf('\n\nBy Simple Explicit Method:\n\n')
+dt=0.05;dx=0.2;
+x=0;
+printf('\n i\t x\t r\t|\tj -->\t')
+for i=0:6
+ printf(' %i\t',i)
+end
+printf('\n \t\t\t|\tt -->\t')
+for i=0:6
+ printf('%.3f\t',i*dt)
+end
+printf('\n----------------------------------------------------------------------------------------------')
+for j=1:6
+ r=sqrt(1+2*x)*dt/dx;
+ printf('\n %i\t%.3f\t%.3f\t|\t\t',(j-1),x,r)
+ for i=1:7
+ if i==1 then
+ u(j,i)=0;
+ elseif j==1 then
+ u(j,i)=1
+ else
+ u(j,i)=(1-r)*u(j,i-1)+r*u(j-1,i-1)
+ end
+ printf('%.3f\t',u(j,i))
+
+ end
+ x=x+dx
+end
+
+
+//simple implicit method
+printf('\n\n\nBy Simple Implicit Method:\n')
+c=-2;dt=0.05;dx=0.2;x=0
+printf('\n i\t x\t r\t|\tj -->\t')
+for i=0:6
+ printf(' %i\t',i)
+end
+printf('\n \t\t\t|\tt -->\t')
+for i=0:6
+ printf('%.3f\t',i*dt)
+end
+printf('\n----------------------------------------------------------------------------------------------')
+for j=1:6
+ r=sqrt(1+2*x)*dt/dx;
+ printf('\n %i\t%.3f\t%.3f\t|\t\t',(j-1),x,r)
+ for i=1:7
+ if i==1 then
+ u(j,i)=0;
+ elseif j==1 then
+ u(j,i)=1
+ else
+ u(j,i)=(1/(1+r))*u(j,i-1)+r*u(j-1,i)/(1+r)
+ end
+ printf('%.3f\t',u(j,i))
+ end
+ x=x+dx
+end
+
+
+//wendroff method
+printf('\n\n\nBy Wendroff Method:\n')
+k=0.05;h=0.2;
+x=0.1;
+printf('\n i\t x\t c\t a\t|\tj -->\t')
+for i=0:6
+ printf(' %i\t',i)
+end
+printf('\n \t\t\t\t|\tt -->\t')
+for i=0:6
+ printf('%.3f\t',i*k)
+end
+printf('\n-------------------------------------------------------------------------------------------------------')
+for i=1:6
+ c=sqrt(1+2*x);
+ a=(h+k*c)/(h-k*c)
+ printf('\n %i\t%.3f\t%.3f\t%.3f\t|\t\t',(i-1),x-h/2,c,a)
+ for j=1:7
+ if j==1 then
+ u(i,j)=0;
+ u(i+1,j)=0;
+ elseif i==1 then
+ u(i,j)=1
+ else
+ u(i,j)=u(i-1,j-1)+(u(i,j-1)-u(i-1,j))/a
+ end
+ printf('%.3f\t',u(i,j))
+ end
+ x=x+h
+end
\ No newline at end of file |