
Matlab - funkce FPLOT ve FOR cyklu
Zdravim,
měl bych otázku.
Mám - pro příklad - 2 pole X=linspace(-10,10); a Y=sin(X);. Čili dvě pole a 100 prvcích.
Nevíte proč mi funkce fplot vykreslí pouze poslední přímku - jako je na obrázku č.1?
for i=1:n-1
xd=X(i);
xu=X(i+1);
yd=Y(i);
yu=Y(i+1);
fce=@(x) ((yu-yd)/(xu-xd))*(x-xd)+yd;
fplot(fce,[xd xu]);hold on
% plot([X(i) X(i+1)],[Y(i) Y(i+1)],'o-');hold on
end
Kdežto, pokud interval ve funkci fplot nahradím intervalem např. [0 xu] => fplot(fce,[0 xu]);hold on (čili alespoň jedna mez je - dá se říct - konstantní) - vykreslí se mi všechny přímky. Avšak samozřejmě ne tak, jak požaduju - obrázek č.2.
Aby bylo jasno - snažím se lineárně interpolovat funkci sin(x). Čili mezi jednotlivými body chci vykreslit přímku - respektive úsčku. Jelikož bych chtěl aby začínala v bodě [X(i) Y(i)] a končila v bodě [X(i+1) Y(i+1)]. To mi ale z nějakého důvodu matlab s funkcí fplot nedovolí.
Funkce plot to samozřejmě řeší, ale v mém případě by se mi hodila varianta s fplot.
Děkuji