00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.ext.scilab.util;
00032
00033 public class SciMath {
00034
00035 public static String formulaPi(String pi, int iBloc, int sizeBloc){
00036 return
00037 pi + " = 0;" +
00038 "j = " + iBloc * sizeBloc + ";" +
00039 "n = j + " + sizeBloc + ";" +
00040 "for i = j:n, " +
00041 pi + " = " + pi + " + ((-1)**i/(2**(10*i))* (- (2**5/(4*i+1)) - (1/(4*i+3)) + (2**8/(10*i+1)) - (2**6/(10*i+3)) - (2**2/(10*i+5)) - (2**2/(10*i+7)) + (1/(10*i+9))));" +
00042 "end;" +
00043 pi + " = " + pi + "/(2**6);";
00044 }
00045
00046 public static String formulaMandelbrot(String name, int nbRow, int nbCol, double xmin, double xmax, double ymin, double ymax, int precision){
00047 return
00048 name + "("+ nbRow +","+ nbCol+ ") = -1; "+
00049 "xres = " + (xmax - xmin)/nbCol + "; "+
00050 "yres = " + (ymax - ymin)/nbRow + "; "+
00051 "a = " + xmin + "; "+
00052 "for i = 1:" + nbCol + ", " +
00053 "a = a + xres; " +
00054 "b = " + ymin + "; "+
00055 "for j = 1:" + nbRow + ", " +
00056 "b = b + yres; " +
00057 "x = 0; " +
00058 "y = 0; " +
00059 "for k = 0:" + precision + ", " +
00060 "tmp = x; "+
00061 "x = (x**2) - (y**2) + a; "+
00062 "y = (2 * tmp * y) + b; " +
00063 "tmp = (x**2) + (y**2); "+
00064 "if tmp < 4 then " +
00065 name + "(j,i) = k; "+
00066 "end, "+
00067 "end; " +
00068 "end; " +
00069 "end; ";
00070 }
00071 }