元のファイル (1,504 × 1,446 ピクセル、ファイルサイズ: 13キロバイト、MIME タイプ: image/png)
|
- このファイルは、ウィキメディア・コモンズから呼び出されています。
- このファイルは、他のプロジェクトで使用されている可能性があります。
- このファイルの解説やノートへの記入、履歴などの詳細の確認は、ウィキメディア・コモンズのファイルページ(ノート/履歴/ログ)を使用してください。
|
概要
|
このファイルの ベクター画像 (SVG) が利用できます。 使う目的に対し、元画像よりもSVGがより優れている場合、SVG画像を使用して下さい。
|
|
ライセンス
Public domainPublic domainfalsefalse
|
|
この著作物の著作権者である私は、この著作物における権利を放棄しパブリックドメインとします。これは全世界で適用されます。 一部の国では、これが法的に可能ではない場合があります。その場合は、次のように宣言します。 私は、あらゆる人に対して、法により必要とされている条件を除き、如何なる条件も課すことなく、あらゆる目的のためにこの著作物を使用する権利を与えます。
|
C++ code
#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');
ファイルの履歴
ファイルの使用状況
グローバルなファイル使用状況