Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
int i;
double x, dx;
double y, dy;
double C;
// nějaké startovní podmínky
x = 5;
y = 7;
C = 4.55;
// dx/dy je lineární.
dx = 0.1;
dy = 0.05;
for (i = 0; i < 1000; i++)
{
double d = x * y * C;
printf("%f\n", d);
x += dx;
y += dy;
}
Můj problém je, že bych v tom cyklu chtěl jen sčítat, takto bych si to představoval:
int i;
double x, dx;
double y, dy;
double C;
// nějaké startovní podmínky
x = 5;
y = 7;
C = 4.55;
// dx/dy je lineární.
dx = 0.1;
dy = 0.05;
// výpočet d a delty, popřípadě delta-delta?
double d = x * y * C;
double delta = ???
for (i = 0; i < 1000; i++)
{
printf("%f\n", d);
d += delta;
}
Pro výpočet delty jsem zkusil více možností, jsem si celkem jistý, že tam musí být y*dx*C + x*dy*C, ale něco mi tam chybí.
Takže, je tu nějaký zkušený matematik, co by věděl:_) ?
import math
def f(x, y, C):
return x * y * C
x = 1.5
y = 1.9
C = 1.4
dx = 1.5
dy = 1.1
d = f(x, y, C)
d_d = x * dy * C + y * dx * C + dx * dy * C
d_d_d = dx * C + dy * C
for i in xrange(0, 10):
a = f(x, y, C)
d
if abs(a - d) > 0.001:
print "a=%f b=%f (FAILED)" % (a, d)
else:
print "a=%f b=%f (OK)" % (a, d)
d += d_d
d_d += d_d_d
x += dx
y += dy
Je potřeba i druhá derivace funkce, takže mám 2 přírůstky (d, d_d), které jsou:
d = x * dy * C + y * dx * C + dx * dy * C d_d = 2 * C * dx * dyTakže uzavřít
import math
def f(x, y, C):
return x * y * C
x = 1.5
y = 1.9
C = 1.4
dx = 1.9
dy = 1.5
d = f(x, y, C)
d_d = x * dy * C + y * dx * C + dx * dy * C # První
d_d_d = 2 * C * dx * dy # Druhá
for i in xrange(0, 10):
a = f(x, y, C)
if abs(a - d) > 0.001:
print "a=%f b=%f (FAILED)" % (a, d)
else:
print "a=%f b=%f (OK)" % (a, d)
d += d_d
d_d += d_d_d
x += dx
y += dy
Šlo o to, abych spočítal průběh té funkce, aniž bych musel dosazovat do f()No dobře, to je popis toho, co děláš. Ale tím, že to popíšeš, to nezačne dávat smysl. Proč nechceš počítat hodnotu funkce, když ji spočítat dovedeš? Je to skoro vždy mnohem jednodušší než numerická integrace -- v tvém případě je to zcela evidentně jednodušší. Jediná důležitá praktická výjimka, kterou znám, je obecný Bresenhamův algoritmus pro rasterizaci algebraických křivek, ale tam je to právě tou diskretizací do rastru. A že to s tou druhou derivací provádí něco smysluplného je zde dáno čistě tím, že Taylorův rozvoj té funkce končí u druhého řádu. Takže ve skutečnosti počítáš přímo zase hodnotu té funkce, akorát ten polynom máš hrozně složitě rozepsaný.
A jinak sorry, ale trvdit o něčem, že to nemá hlavu ani patu když máš k dispozici i zdroják na otestování, je trochu ubohé.Mohu a budu s klidem tvrdit, že to nemá to hlavu ani patu, i kdyby k tomu bylo deset testovacích zdrojáků, pokud nemá hlavu ani patu původní formulace problému.
Ta funkce je taky hodně primitivní, takže sis chtěl asi jen rýpnout ne...?Primitivní funkce je (zhruba řečeno) taková, kterou když zderivuji, dostanu původní funkci. Tato vlastnost není kvantifikovatelná. Buď funkce k dané funkci primitivní je, nebo není, nemůže být více nebo méně primitivní.
S tou druhou derivací to zase takový blábol nebude, protože nehledám parciální, ale úplnou.Děkuji za potvrzení, že to je naprostý blábol. Parciální derivace je derivace podle jednoho argumentu. Totální derivace je pojem, který má smysl, pouze pokud jsou některé argumenty funkcemi dalších argumentů/proměnných. To zde má nastávat konkrétně kde a jak? A i pak se v první totální derivaci vyksytují stále jen particální derivace. Totéž pro totální diferenciál.
Děkuji za potvrzení, že to je naprostý blábol. Parciální derivace je derivace podle jednoho argumentu. Totální derivace je pojem, který má smysl, pouze pokud jsou některé argumenty funkcemi dalších argumentů/proměnných. To zde má nastávat konkrétně kde a jak? A i pak se v první totální derivaci vyksytují stále jen particální derivace. Totéž pro totální diferenciál.Funkce x*y má diferenciál, a diferenciál diferenciálu, já fakt nevím, co je na tom nepochopytelné.
Dokážeš vůbec rozlišit mezi derivací a diferenciálem?Dokážu, ale netvářím se, že to spolu nesouvisí...
Nepochopitelné je, jak tu žonglueš matematickými pojmy.No vidíš, a ty do toho přidáváš elektrárny a mosty. Máš tu nejvíc příspěvků, a trumfl tě ten nejmenší co tu je.
"d" se v jednom kroku zvětší o C*x*dy + C*dx*y (označíme "a") "C*x*dy" se zvětší o C*dx*dy "C*dx*y" se zvětčí také o C*dx*dy, tuto konstantu označíme "b/2" Takže "C*x*dy + C*dx*y" se zvětší o "b"Takže by mělo stačit něco ve smyslu:
d=x*y*C;
a=C*(x*dx+dx*y);
b=2*dx*dy*C;
for(i=0; i<1000; i++) {
printf("%f\n",d);
d+=a;
a+=b;
}
d = x^2 * (r^2 - fy^2) + y^2 * (r^2 - fx^2) + x*y * (2*fx*fy)Ale problém jsem měl právě s tím x*y:) Celý kód je zde: http://code.google.com/p/fog/source/browse/trunk/Fog/Fog/G2d/Render/Render_C/PGradientRadial_p.h
Tiskni
Sdílej: