package jass.generators; import java.io.*; import java.net.*; /** Modal model, with random modes. @author Kees van den Doel (kvdoel@cs.ubc.ca) */ public class RandomModalModel extends ModalModel { /** Constructor. Create modes uniformly for range chosen. Material model constant mmc determines damping by d = mmc * f @param nf number of modes. @param np number of locations. @param fmin minimum frequeny @param fmax maximum frequeny @param mmcmin minimum material const. @param mmcmax maximum material const. @param ammin minimum gain @param amax maximum gain */ public RandomModalModel(int nf, int np, float fmin, float fmax, float mmcmin, float mmcmax, float amin, float amax) { super(nf,np); randomize(fmin, fmax, mmcmin, mmcmax, amin, amax); } private void randomize(float fmin, float fmax, float mmcmin, float mmcmax, float amin, float amax) { float x = (float)Math.random(); float mmc = (float)(mmcmin + x*(mmcmax-mmcmin)); for(int i=0;i<nf;i++) { x = (float)Math.random(); f[i] = fmin + x*(fmax-fmin); d[i] = (float)(mmc * f[i]); for(int k=0;k<np;k++) { float y = (float)Math.random(); a[k][i] = amin + y*(amax-amin); } } } }