Здравствуйте! Пытаюсь построить фрактал методом Ньютона на F#. Студия выдает при компиляции ошибку "
Error Unexpected symbol '[<' in binding. Expected incomplete structured construct at or before this point or other token."
Ниже исходный код
#light
open System;
open Microsoft.FSharp.Math;
open System.Numerics;
open System.Drawing;
open System.Windows.Forms;
let rec fractal (min:int,max, z:Complex, _z:Complex, delta:Complex, z1:Complex) =
if (min>max && z.Magnitude<1e6 && delta.Magnitude>1e-6) then z
else
fractal(min,max, z, z-(z*z*z-new Complex(1.,0.))/(new Complex(3.,0.)*z*z), z1-z, z)
let colorize c =
let r = (4 * c) % 255
let g = (6 * c) % 255
let b = (8 * c) % 255
Color.FromArgb(r,g,b)
let createImage (iter:Complex,Complex_:float) =
let image = new Bitmap(400, 400)
for x = 0 to image.Width - 1 do
for y = 0 to image.Height - 1 do
let count = fractal(0,64,new Complex(complex_,0.),new Complex(complex_,0.) , new Complex(complex_,0.), new Complex(complex_,0.))
if count = iter then
image.SetPixel(x,y, Color.Black)
else
image.SetPixel(x,y, colorize( 3 ) )
let temp = new Form() in
temp.Paint.Add(fun e -> e.Graphics.DrawImage(image, 0, 0))
temp
[<EntryPoint>]
do Application.Run(createImage (nwe Complex(64,0.),new Complex(1.5,0))
Ошибка идет на [<EntryPoint>], хотя без этой надписи вылетает еще больше ошибок. Что я сделал не так? Помогите пожалуйста! Заранее спасибо!
P.S.
Если не трудно можете проверить правильно ли я написал функцию fractal, которая реализует метод Ньютона и правильно ли я рисую сам фрактал. Просто F# изучаю несколько дней и если честно пока что тяжко дается. Заранее спасибо!
P.P.S.
код метода Ньютона, откуда переводил на F# реализован на C#
maxIterations = 64;
count = 0;
z = current;//комплексные переменные
delta = z;
z1 = z;
while (count < maxIterations && abs(z) < 1e6 && abs (delta) > 1e-6)
{
z = z - (z*z*z-1)/(3*z*z);
delta = z1-z;
z1 = z;
}
23.09.13 00:32: Перенесено модератором из '.NET' — VladD2
23.09.13 00:32: Перенесено модератором из '.NET' — VladD2
23.09.13 00:32: Перенесено модератором из '.NET' — VladD2