Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
ahoj mám velký problém se zobrazením funkce y, protože v matlabu R2011b jsou výsledky v komplexním oboru, nikoli v reálném oboru. Dá se tato chyba potlačit?
Funkce:
definiční obor je 0<X1, X2<1
g2(X2)=10+X2,
alpha 0.25+3.75((g2(X2-a))/(b-a)), b=11, a=12
y=(X1/G2)^alpha-(X1/G2).*sin(pi.*X1.*G2)
Kod v Matlabu pak vypadá následovně:
[X1,X2] = meshgrid([1:0.125:10],[-39.0:0.125:-30]);
G2=10.+X2;
alpha=0.25+3.75.*(12-(G2))
y=(X1./G2).^alpha-(X1./G2).*sin(pi.*0.4*X1.*G2)
mesh(X1,X2,y);
Offline
↑ adjamot:
otázne je, že prečo vznikajú komplexné čísla.
po kontrole kódu nevidím veľmi dôvod, aby vznikali.
skús to takto, či bude výsledný graf obsahovať očakávané hodnoty:
y=real((X1./G2).^alpha-(X1./G2).*sin(pi.*0.4*X1.*G2))
Offline
↑ adjamot:
už som si spomenul. človek je tak zvyknutý rozmýšlať iba v množine R, že to až nie je pravda.
toto sme tu už riešili a úplne mi to vypadlo z hlavy
umocnenie racionálnym číslom
tu nejde o Matlab verziu R2011b, ale všeobecne Matlab pracuje primárne v množine C a teda pre záporné čísla a ich neceločíslené mocniny sú generované komplexné čísla. keď alpha bude obsahovať celé čísla, tak graf sa bude dať vykresliť. len neviem, či to bude takto stačiť.
Offline
↑ etchie:
děkuju za radu, nakonec jsem musel posunout meze do:
[X1,X2] = meshgrid([1:0.125:10],[-29.0:0.125:-20]);
ALE už to jakýsi graf vykresluje ;)
Offline