Plik:Amoeba2.svg

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania
Rozmiar pierwotny (Plik SVG, nominalnie 940 × 904 pikseli, rozmiar pliku: 1 KB)

Ten plik znajduje się w Wikimedia Commons i może być używany w innych projektach. Poniżej znajdują się informacje ze strony opisu tego pliku.

Opis

Opis
English: The amoeba of
Data
Źródło Praca własna, oparta o: Amoeba2.png od Oleg Alexandrov
Autor
Oryginał:
Wektor:
SVG rozwój
InfoField
 Kod źródłowy tego pliku SVG jest niepoprawny z powodu 2 błędów.
 Ten niezgodny z W3C diagram został stworzony za pomocą C++
To zdjęcie było poddane obróbce cyfrowej i może różnić się od wersji oryginalnej. Zmiany: Vectorization. Oryginał można obejrzeć tu: Amoeba2.png. Modyfikacje zostały wykonane przez użytkownika Zerodamage.

Licencja

Zerodamage – właściciel praw autorskich do tego dzieła, udostępnia je na poniższej licencji
w:pl:Licencje Creative Commons
uznanie autorstwa
Ten plik udostępniony jest na licencji Creative Commons Uznanie autorstwa 3.0.
Uznanie autorstwa:
Wolno:
  • dzielić się – kopiować, rozpowszechniać, odtwarzać i wykonywać utwór
  • modyfikować – tworzyć utwory zależne
Na następujących warunkach:
  • uznanie autorstwa – musisz określić autorstwo utworu, podać link do licencji, a także wskazać czy utwór został zmieniony. Możesz to zrobić w każdy rozsądny sposób, o ile nie będzie to sugerować, że licencjodawca popiera Ciebie lub Twoje użycie utworu.

Source code

To jest logo: C++ – język programowania ogólnego przeznaczenia
To jest logo: C++ – język programowania ogólnego przeznaczenia
This media was created with C++ (język programowania ogólnego przeznaczenia) and MATLAB (program komputerowy)
Here is a listing of the source used to create this file.

Deutsch  English  +/−

#include <iostream>
#include <fstream>
#include <cmath>
#include <complex>
using namespace std;

double small = 1e-14;
double mylog (double);
int main(){

  double A=-5, B=5;
  int N=1000;

  double h= (B-A)/(N-1);
  double theta0 = 2*M_PI/(N-1.0);

  ofstream mfile ("data.txt");

  for (int i=0 ; i < N ; i++){
    double r = exp(A+i*h);

    for (int j=0 ; j < N ; j++){
      double theta = j*theta0;

      complex<double> z2 = polar(r, theta);
      complex<double> root = sqrt(25.0*z2*z2-12.0*(z2*z2*z2+1.0));
      complex<double> z11 = (-5.0*z2+root)/6.0;
      complex<double> z12 = (-5.0*z2-root)/6.0;

      double a1 = mylog(abs(z11));
      double a2 = mylog(abs(z12));
      double b  = mylog(abs(z2));

      mfile << a1  << ' ' << b << endl;
      mfile << a2  << ' ' << b << endl;
    }
  }
  mfile.close();

  return 0;
}
double mylog (double x){

  if (x< 0){
    cerr << "Error in log, negative x!" << endl;
    exit(0);
  }

  if (x < small){
    return log (small);
  }

  return log (x);

}

Matlab code which reads the data output by the C++ code and graphs it

A=load('data.txt');

plot(A(:, 1), A(:, 2), '.');
axis equal; axis off;

axis([-4 6 -5 5])
saveas(gcf, 'amoeba2.eps', 'psc2');

Oryginalny rejestr przesyłania

This image is a derivative work of the following images:

Uploaded with derivativeFX

Podpisy

Dodaj jednolinijkowe objaśnienie tego, co ten plik pokazuje

Obiekty przedstawione na tym zdjęciu

przedstawia

image/svg+xml

54a4d9ac42c16b8ec9be6add4f48da23f8dc62f3

904 piksel

940 piksel

Historia pliku

Kliknij na datę/czas, aby zobaczyć, jak plik wyglądał w tym czasie.

Data i czasMiniaturaWymiaryUżytkownikOpis
aktualny15:49, 8 sie 2012Miniatura wersji z 15:49, 8 sie 2012940 × 904 (1 KB)wikimediacommons>Zerodamage== {{int:filedesc}} == {{Information |Description=== |Source={{Derived from|Amoeba2.png|display=50}} |Date=2012-08-08 14:47 (UTC) |Author=*File:Amoeba2.png: Oleg Alexandrov *derivative work: [[User:{{subst:REVISIONUSER}}|...

Poniższa strona korzysta z tego pliku: