summaryrefslogtreecommitdiff
path: root/249/CH3/EX3.1/3_01.sce
diff options
context:
space:
mode:
authorprashantsinalkar2017-10-10 12:38:01 +0530
committerprashantsinalkar2017-10-10 12:38:01 +0530
commitf35ea80659b6a49d1bb2ce1d7d002583f3f40947 (patch)
treeeb72842d800ac1233e9d890e020eac5fd41b0b1b /249/CH3/EX3.1/3_01.sce
parent7f60ea012dd2524dae921a2a35adbf7ef21f2bb6 (diff)
downloadScilab-TBC-Uploads-f35ea80659b6a49d1bb2ce1d7d002583f3f40947.tar.gz
Scilab-TBC-Uploads-f35ea80659b6a49d1bb2ce1d7d002583f3f40947.tar.bz2
Scilab-TBC-Uploads-f35ea80659b6a49d1bb2ce1d7d002583f3f40947.zip
updated the code
Diffstat (limited to '249/CH3/EX3.1/3_01.sce')
-rwxr-xr-x249/CH3/EX3.1/3_01.sce91
1 files changed, 52 insertions, 39 deletions
diff --git a/249/CH3/EX3.1/3_01.sce b/249/CH3/EX3.1/3_01.sce
index 1bbf163bd..4897377b9 100755
--- a/249/CH3/EX3.1/3_01.sce
+++ b/249/CH3/EX3.1/3_01.sce
@@ -1,39 +1,52 @@
-clear
-clc
-//Given
-t=[0 20 40 60 120 180 300];
-C_A=[10 8 6 5 3 2 1];
-CAo=10;
-//Guessing 1st order kinetics
-//This means log(CAo/C_A) vs t should give a straight line
-for i=1:7
- k(i)=log(CAo/C_A(i));
- CA_inv(i)=1/C_A(i);
-end
-//plot(t,k)
-//This doesn't give straight line.
-//Guessing 2nd Order Kinetics so
-//1/C_A vs t should give a straight line
-//plot(t,CA_inv)
-//Again this doesn't give a straight line
-//Guessing nth order kinetics and using fractional life method with F=80%
-//log Tf=log(0.8^(1-n)-1/(k(n-1)))+(1-n)logCAo
-//plot(t,C_A)
-
-//Picking different values of CAo
-//Time needed for 3 runs,,from graph
-T=[18.5;23;35];
-CAo=[10;5;2];
-for i=1:3
- CA(i)=0.8*CAo(i);
- log_Tf(i)=log10(T(i));
- log_CAo(i)=log10(CAo(i));
-end
-plot(log_CAo,log_Tf)
-xlabel('log CAo');ylabel('log t');
-coeff1=regress(log_CAo,log_Tf);
-n=1-coeff1(2);
-printf("From graph we get slope and intercept for calculating rate eqn")
-k1=((0.8^(1-n))-1)*(10^(1-n))/(18.5*(n-1));
-printf("\n The rate equation is given by %f",k1)
-printf("CA^1.4 mol/litre.sec")
+clear
+clc
+function [coefs]=regress(x,y)
+coefs=[]
+ if (type(x) <> 1)|(type(y)<>1) then error(msprintf(gettext("%s: Wrong type for input arguments: Numerical expected.\n"),"regress")), end
+ lx=length(x)
+ if lx<>length(y) then error(msprintf(gettext("%s: Wrong size for both input arguments: same size expected.\n"),"regress")), end
+ if lx==0 then error(msprintf(gettext("%s: Wrong size for input argument #%d: Must be > %d.\n"),"regress", 1, 0)), end
+ x=matrix(x,lx,1)
+ y=matrix(y,lx,1)
+ xbar=sum(x)/lx
+ ybar=sum(y)/lx
+ coefs(2)=sum((x-xbar).*(y-ybar))/sum((x-xbar).^2)
+ coefs(1)=ybar-coefs(2)*xbar
+endfunction
+//Given
+t=[0 20 40 60 120 180 300];
+C_A=[10 8 6 5 3 2 1];
+CAo=10;
+//Guessing 1st order kinetics
+//This means log(CAo/C_A) vs t should give a straight line
+for i=1:7
+ k(i)=log(CAo/C_A(i));
+ CA_inv(i)=1/C_A(i);
+end
+//plot(t,k)
+//This doesn't give straight line.
+//Guessing 2nd Order Kinetics so
+//1/C_A vs t should give a straight line
+//plot(t,CA_inv)
+//Again this doesn't give a straight line
+//Guessing nth order kinetics and using fractional life method with F=80%
+//log Tf=log(0.8^(1-n)-1/(k(n-1)))+(1-n)logCAo
+//plot(t,C_A)
+
+//Picking different values of CAo
+//Time needed for 3 runs,,from graph
+T=[18.5;23;35];
+CAo=[10;5;2];
+for i=1:3
+ CA(i)=0.8*CAo(i);
+ log_Tf(i)=log10(T(i));
+ log_CAo(i)=log10(CAo(i));
+end
+plot(log_CAo,log_Tf)
+xlabel('log CAo');ylabel('log t');
+coeff1=regress(log_CAo,log_Tf);
+n=1-coeff1(2);
+printf("From graph we get slope and intercept for calculating rate eqn")
+k1=((0.8^(1-n))-1)*(10^(1-n))/(18.5*(n-1));
+printf("\n The rate equation is given by %f",k1)
+printf("CA^1.4 mol/litre.sec") \ No newline at end of file