Zdravím všechny zkušené programátory. Včera jsem prováděl nějaké matematické operace - jednoduché výpočty. Narazil jsem na problém, kdy jsem potřeboval matici přenásobit 1/3, respektive vydělit 3. Použil jsem proto něco takového:
M = M.Multiply(new Complex(1 / 3, 0));
(matice atp. jsou použity z jednoho mat. balíku, proto ta konstrukce takováto - nicméně jedná se o matici komplexních čísel a metoda Multiply, jak název napovídá, je přenásobení každého prvku v tomto případě komplexním číslem o reálné a imaginární složce, která je nulová momentálně) Nicméně výsledkem této operace byla matice samých nul, proto jsem si jen tak mimo zkusil co mi udělá například:
double c = 1/3;
A opět nulové číslo. Na řešení jsem přišel, použil jsem:
M = M.Multiply(new Complex((double)1/3, 0));
Ale není mi úplně jasné, procč to tak musí být a jelikož provádím další a další výpočty, rád bych měl jasno, kdy se můžu spolehnout, že 1/2 není nula, ale 0.5. Díky za případnou odpověď. Aleš
|