Servus,
lese hier schon längere Zeit mit und bin echt begeistert. Konnte schon viele hilfreiche Tipps finden. Habe mich nun dazu entschlossen mich doch endlich anzumelden, da ich für mein derzeitiges Problem noch keine Lösung gefunden habe. Hoffe ihr könnt mir helfen.
Ich habe hier jetzt ein Programm bei dem ich die lineare Darstellung der y-Achse durch eine logarithmische Darstellung ersetzen möchte. Dies soll in der unteren Methode logSpectrum passieren. Habe schon versucht den log über Math.log10() zu berechnen. Jedoch kommt es da zu dem Konflikt, dass es mit dem Argument double[] nicht ausführbar ist. Was kann ich da tun? Ach ja, ich arbeite mir eclipse.
Hoffe ihr versteht mein Problem.
Gruß
Java:
publicclassSpectrumAnalyserextendsMeter{privateSpectrumParameters sp;// current SpectrumParameters used to draw the beam privatedouble signal[];// (Note that spectrum[] is only local.)privateint size;// current number of samples transformed by the DFT, e.g. 1000privateint t;// current t position of samples filled in FFT window, e.g. 0...1023publicSpectrumAnalyser(Measure measure){super(measure);initFields();XYMeterWindow gridBeamWindow =newXYMeterWindow(this);setMeterWindow(gridBeamWindow);// extend bottom inset for frequency scale of spectrumanalyser
gridBeamWindow.setBottomInset(20);}/**
* Update display plot, incremental painting
* @param sig
*/publicvoidplotstep(Signal sig){AnalogSignal aSig =(AnalogSignal) sig;// fill sample window, amplitude is normalized to size, // so it is corectly displayed in V/Hz
signal[t++]= aSig.getAnalogValue()/ size;// check if sample window is completeif(t == size){double spectrum[]=getSpectrum(signal);// spektrum();
t =0;double logSpectrum[]=logSpectrum(spectrum);plotSpectrum(logSpectrum);}}privatedouble[]logSpectrum(double[] spectrum){// TODO Auto-generated method stubreturn spectrum;}
wenn es irgendwo eine Methode
public String toLowerCase(String) {}
gibt, die einen neuen leicht veränderten String zurückgibt,
dann kannst du da auch kein String[] oder gleich ein Word-Dokument oder eine Datenbank-Verbindung übergeben
und hoffen, dass alles genau in deinem Sinne passiert,
Math.log10() rechnet zu einem double einen neuen double aus,
alles andere ergibt keinen Sinn,
ein Array musst du z.B. per Schleife durchlaufen