Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > C# complex sayılar
Yazar
pinar23


avatar

Kayıt: 29.02.2008
31.05.2008-20:40 #45250
Herkese selam

Complex [,] Sdata

Sdata yani complex bir diziyi string çevirdiğimde bir sorun yok
String s = Convert.ToString(Sdata[i, j]);

Fakat string bir değeri complex çeviremiyorum.???

Yani kısaca soru string bir değeri complex sayıya nasıl çeviririm.??





Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
31.05.2008-21:36 #45251
AForge.Math.Complex comp = new AForge.Math.Complex(1.2, 1); // 1.2+1i diye bir sayı oluşturdum
string compStr = comp.ToString(); // stringe çevirdim
int compPlus = compStr.IndexOf("+", 0);
string complexR = compStr.Substring(0, compPlus); // stringden real kısmını aldım
string complexI = compStr.Substring(compPlus + 1, compStr.Length - compPlus - 1).Replace("i", ""); // stringden imaginary kısmını aldım
AForge.Math.Complex comp2 = new AForge.Math.Complex(Convert.ToDouble(complexR), Convert.ToDouble(complexI)); // complexR ve complexI dan yeni bir complex sayı oluşturdum






Yazar
aliprinter


avatar
İstanbul
Kayıt: 12.02.2006
31.05.2008-21:49 #45252
Fonksiyon halinde:

public static AForge.Math.Complex String2Complex(string ComplexNumber)
        {
            int factorR = 1;
            int factorI = 1;
            int compSign = ComplexNumber.IndexOf("-", 1);
            if (compSign > -1) factorI = -1;
            if(factorI == 1) compSign = ComplexNumber.IndexOf("+", 0);

            string complexR = ComplexNumber.Substring(0, compSign);
            string complexI = ComplexNumber.Substring(compSign + 1, ComplexNumber.Length - compSign - 1).Replace("i", "");
            AForge.Math.Complex comp = new AForge.Math.Complex(factorR * Convert.ToDouble(complexR), factorI * Convert.ToDouble(complexI));
            return comp;
        }


Kullanım:
AForge.Math.Complex complexSayi = new AForge.Math.Complex(String2Complex(complexString));


Not: Negatif olma durumunu unutmuşum ekledim.





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb