Matematické Fórum

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

#1 02. 03. 2015 13:48

KajaM
Zelenáč
Příspěvky: 4
Škola: Přf
Pozice: student
Reputace:   
 

Matlab 2D grafy, cyklus for, derivace

Dobré poledne,
chtěla bych Vás poprosit o pomoc s řešením problému vykreslování tečen k grafum funkcí 1/x a tan(x) k demonstrování derivací funkce v ruzných bodech (i). Tento problém jsem řešila také pro další funkce jako $x\wedge2 $,$x\wedge3 $, sin x , kde vše až na drobnosti funfuje tak jak má.
Pro funkci 1/x jsem postupovala tímto způsobem:
>> x=0:pi/30:2*pi;
>> y1=1./x
>>plot(x,y1)
>>hold on
>> for i=1:1:20
>> hold on (i)
>> y2=(-x./i^2)+2./i
>>plot(x,y2)
>>M(i) = getframe;
end
movie(M,20)
jenže mi to pořád hází výraz Warning: Imaginary parts of complex X
and/or Y arguments ignored
a tečny se vpodstatě nevykreslují vůbec.
Problém bude asi v mém cyklusu for kdy mam zadanou y2 (což je obecně rovnice tečny pro tento graf)
Pokud vykresluji graf způsobem že nezadam cyklus for ale dosazuji postupně (i) do rovnice a zobrazuji jednotlivé tečny postupně vše funguje tak jak má, tak nevím kde je problém.
S programem matlab teprve začínám takže předpoklédám že chyba bude uplně banální, ale já ji bohužel nevidím a chtěla bych tímto poprosit o pomoc.
Zároven také co se týče grafu tan(x). tak tam používám :
syms x
>> x=linspace(0,10,1000)
>> axis([ -Inf Inf -2 2 ])
plot(x,tan(x),'b')
>> hold on
for i=1:1:10
hold on (i)
>> plot(x, diff(tan(i))*(x-i)+tan(i) 'r')
M(i)=getframe
end
>> axis([ 0 10 -2 2 ])
movie(M,30)
kde mám opět obecnou rovnici těčny ke grafu jako: diff(tan(i))*(x-i)+tan(i)
v tomhle případě jsi nejsem jistá jeslti mohu napsat jako derivaci tan(i) příkazem diff(tan(i))
děkuji za jakoukoliv radu a čas.

Offline

 

#2 03. 03. 2015 15:50 — Editoval FliegenderZirkus (03. 03. 2015 15:59)

FliegenderZirkus
Příspěvky: 544
Škola: RWTH Aachen
Reputace:   25 
 

Re: Matlab 2D grafy, cyklus for, derivace

Ahoj,

zkus před for smyčku přidat deklaraci proměnné M:

Code:

M(20) = struct('cdata',[],'colormap',[]);

pokud máš ve „workspace“ nějakou starou verzi té proměnné M, tak nejdřív zadej

Code:

clear M

Někteří uživatelé Matlabu doporučují nepojmenovávat proměnné i a j, protože může dojít k záměně za imaginární jednotku. Zkus místo i použít v té smyčce třeba ii.

V druhé úloze máš hned několik chyb. Začít lze třeba tím, že funkce tangens má nějaký definiční obor a snažit se vykreslit ji mimo něj nemá smysl.

Offline

 

#3 28. 03. 2015 13:44

KajaM
Zelenáč
Příspěvky: 4
Škola: Přf
Pozice: student
Reputace:   
 

Re: Matlab 2D grafy, cyklus for, derivace

Děkuji za odpověd!

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson