C++-ban a matematikai 'x'-et (ismeretlent) hogyan lehet megfogalmazni?
Pontosabban:
if (k1 == 0 && k2 == 0)
{
float x;
float loc1;
float loc2;
x = 1; // Így próbáltam én
// F1 * x = F2 * d - F2 * x
loc1 = f2 * d;
// F1 * x = loc1 - f2 * x
loc2 = f1 * x + f2 * x;
// loc2 = loc1
x = loc2 / loc1;
k1 = x;
k2 = d - x;
}
Ezt hogyan lehetne leegyszerűsíteni? Vagyis inkább működőképes alakra hozni
Rájöttem :)
Rájöttem, hogy kell átrendezni x-mentes verzióba ezt a képletet :)
if (k1 == 0 && k2 == 0)
{
float loc1;
float loc2;
// F1 * x = F2 * d - F2 * x
// F1 + d = F2 * d
// loc1 = f2 * d;
loc1 = f1 + d;
// F1 * x = loc1 - f2 * x
// loc2 = f1 * x + f2 * x;
loc2 = f2 * d;
// loc2 = loc1
k1 = loc2 / loc1;
k2 = d - k1;
}
Nem igazán érthető hogy mit akarsz csinálni itt. Ki akarod számolni az 'x'-et? Rendezd át az egyenletet úgy, hogy kifejezed az 'x'-et, és kiszámolod:
F1 * x = F2 * d - F2 * x
F1 * x + F2 * x = F2 * d
(F1 + F2) * x = F2 * d
x = F2 * d / (F1 + F2) ha F1 + F2 != 0
Feltételezve hogy ismered az f1, f2, d értékeket, kiszámolható az 'x'. Ez nem programozás, hanem matek.
Köszi! :)
Sikerült nagyon leegyszerűsíteni egészen addig, hogy kiessen belőle az x... az lett, amit leírtál :)
A program egyébként fizikában a forgatőnyomatékos feladatokat számolja ki, csak 1 típus hiányzik, de azt most írom.
F1 = az 1-es erő
F2 = a 2-es erő
d = a két erő közti távolság
k1 = 1-es erőkar
k2 = 2-es erőkar
Fe = F1 és F2 erők eredője
A protgram:
A kód:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!