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
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 ,, 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
Ahoj,
zkus před for smyčku přidat deklaraci proměnné M:
M(20) = struct('cdata',[],'colormap',[]);
pokud máš ve „workspace“ nějakou starou verzi té proměnné M, tak nejdřív zadej
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