diff options
author | nutricato | 2008-06-30 10:14:26 +0000 |
---|---|---|
committer | nutricato | 2008-06-30 10:14:26 +0000 |
commit | 2d38040251ca5667cac46b7cbff3a067d267b3f8 (patch) | |
tree | a4769c125b89a947819b2505bfcf6ebf438c9626 /src/Scilab2C/SCI2CTests/test999_WorkingDir | |
parent | f05eafe41c0ca03aef6ead07d13ca1516cf27f62 (diff) | |
download | scilab2c-2d38040251ca5667cac46b7cbff3a067d267b3f8.tar.gz scilab2c-2d38040251ca5667cac46b7cbff3a067d267b3f8.tar.bz2 scilab2c-2d38040251ca5667cac46b7cbff3a067d267b3f8.zip |
Diffstat (limited to 'src/Scilab2C/SCI2CTests/test999_WorkingDir')
-rw-r--r-- | src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/LinComb.sci | 13 | ||||
-rw-r--r-- | src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci | 44 |
2 files changed, 20 insertions, 37 deletions
diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/LinComb.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/LinComb.sci new file mode 100644 index 00000000..8fb0b683 --- /dev/null +++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/LinComb.sci @@ -0,0 +1,13 @@ +//SCI2C: NIN= 4 +//SCI2C: NOUT= 1 +//SCI2C: OUT(1).TP= IN(1).TP
+//SCI2C: OUT(1).SZ(1)= IN(2).SZ(1) +//SCI2C: OUT(1).SZ(2)= IN(2).SZ(2) + +//SCI2C: DEFAULT_PRECISION= DOUBLE + +function z = LinComb(a,x,b,y) + +z = a*x+b*y; + +endfunction diff --git a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci index 75829d99..d02cdc22 100644 --- a/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci +++ b/src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci @@ -2,45 +2,15 @@ function mainfunction()
-// Knowing that -// (1) P * (V^gamma) = C -// Where -// P = Pressure -// V = Volume -// gamma,C = constants depending on the particular gas used. -// (2) log10(P) = log10(C) - gamma*log10(V) -// (3) x = log10(V) -// (4) y = log10(P) -// than (2) becomes: -// y = a + b*x; -// Where -// a = log10(C) -// b = -gamma -// Then thanks to this transformation it is possible to perform -// a linear regression to estimate gamma and C! +s1 = 2; s2 = 3; -Volume = [54.3 61.8 72.4 88.7 118.6 194.0]; -Pressure = [61.2 49.5 37.6 28.4 19.2 10.1]; -x = log10(Volume); -y = log10(Pressure); +a = 2; b = 4; -a = (sum(y)*sum(x.^2)-sum(x)*sum(x.*y))./(length(x)*sum(x.^2)-sum(x).*sum(x)); -b = (length(x)*sum(x.*y)-sum(x)*sum(y))./(length(x)*sum(x.^2)-sum(x).*sum(x)); +A = ones(3,4); B = ones(3,4); -// Other way to compute a and b -beq = sum((x-mean(x)).*(y-mean(y)))./sum((x-mean(x)).^2);
-aeq = mean(y)-mean(x)*beq;
+C = LinComb(s1,a,s2,b); // s1*a+s2*b +D = LinComb(s1,A,s2,B); // s1*A+s2*B -C = 10 .^a; -gamma = -b; -disp('C') -disp(C) -disp('gamma'); -disp(gamma); -disp('a-aeq'); -disp(a-aeq) -disp('b-beq') -disp(b-beq) -// plot(Volume,Pressure); -// plot(Volume,(C ./(Volume.^gamma)),'r') +disp(C); +disp(D); endfunction |