Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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

Předmět Autor Datum
Nenašly se žádné odpovědi.

Zpět do poradny Odpovědět na původní otázku Nahoru