summaryrefslogtreecommitdiff
path: root/src/Scilab2C/SCI2CTests/test999_WorkingDir
diff options
context:
space:
mode:
authornutricato2008-06-30 10:14:26 +0000
committernutricato2008-06-30 10:14:26 +0000
commit2d38040251ca5667cac46b7cbff3a067d267b3f8 (patch)
treea4769c125b89a947819b2505bfcf6ebf438c9626 /src/Scilab2C/SCI2CTests/test999_WorkingDir
parentf05eafe41c0ca03aef6ead07d13ca1516cf27f62 (diff)
downloadscilab2c-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.sci13
-rw-r--r--src/Scilab2C/SCI2CTests/test999_WorkingDir/scilabcode/mainfunction.sci44
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