想要的效果:
程式設計時要用到分段函式曲線的繪製方法:..+.*(分段條件)。
需要注意的是:函式表示式中的乘除和乘方都要加「.」。因為一般的函式都是數在乘變數運算。
然後想將座標軸變一下:
新建乙個xyplot.m檔案:
function xyplot(x,y)重新呼叫執行即可:%xyplot plot 2d axes through the origin
% example 1
:% t = linspace(0,2*pi,500
); % y1 = 80*sin(t);
% y2 = 100*cos(t);
%xyplot(t,[y1;y2])
%% example 2
:% x = -2*pi:pi/10:2*pi;
% y =sin(x);
%plot(x,y)
%xyplot
%plot
if nargin>0
if nargin == 2
plot(x,y);
else
display(
'not 2d data set!')
endendhold on;
%get ticks
x=get(gca,'
xtick');
y=get(gca,'
ytick');
%get labels
xl=get(gca,'
xticklabel');
yl=get(gca,'
yticklabel');
%get offsets
xoff=diff(get(gca,'
xlim
'))./40
;yoff=diff(get(gca,'
ylim
'))./40
;%draw axis lines
plot(
get(gca,'
xlim
'),[0
0],'k'
);plot([
00],get(gca,'
ylim
'),'k'
);% plot new
ticks
for i=1
:length(x)
plot([x(i) x(i)],[
0 yoff],'-k'
);end;
for i=1
:length(y)
plot([xoff,
0],[y(i) y(i)],'-k'
);end;
%add labels
text(x,zeros(size(x))-2.*yoff,xl);
text(zeros(size(y))-3.*xoff,y,yl);
box off;
%axis square;
axis off;
set(gcf,'
color
','w
');
雙三次插值計算流程
雙三次演算法與雙線性插值相比,需要計算相鄰16個點的輸入畫素,即w方向座標分別為w 1 w w 1 w 2 h方向座標分別為h 1 h h 1 h 2。如何計算每個點對應的權重呢?opencv的計算方法是這樣的 fx float dx 0.5 scale x 0.5 sx cvfloor fx fx...
js 雙線性插值 雙三次插值法 實現
雙三次插值法 js實現 在網頁中利用canvas進行繪圖時,遇到乙個問題,原始的資料解析度很小,而要放大到整個網頁,所以需要把資料進行插值放大。學習了雙線性插值和三次內插法插值,兩種方式實現效果不同,都用js 實現了一下,下面給大家分享一下 雙線性插值即在x和y兩個方向上,對資料各進行一次線性插值。...
分段三次Hermite插值Matlab實現
function m matrix hermite x,y,y0,yn,x value 輸入值分配,x input,y input均為陣列,y 0,y n為x 0,x n分別對應的一階導數值 x input x y input y y 0 y0 y n yn number size x input ...