本章學習目標 學習極座標繪圖與對數繪圖 學習雙y軸繪圖 學習向量場繪圖 學習統計繪圖 在Matlab的環境裡製作動畫 第七章 特殊圖形的繪製 本章學習目標 學習極座標繪圖與對數繪圖 學習雙y軸繪圖 學習向量場繪圖 學習統計繪圖 在Matlab的環境裡製作動畫
極座標繪圖 >> t=linspace(0.01,4*pi,100); r=cos(sin(28*t)); >> r=log(t); >> r=cos(sin(28*t)); >> polar(t,r) >> polar(t,r,'r') >> polar(t,r)
對數繪圖 >> x=1:0.2:12; >> x=linspace(0,100,600); >> y=x.^3-x+4; >> semilogx(x,sin(x)./(x+1)) >> semilogy(x,y)
雙y軸繪圖 >> x=linspace(0,6,120); >> plot(x,sqrt(x)+sin(6*x),x,exp(x)) >> plotyy(x,sqrt(x)+sin(6*x),x,exp(x))
梯度向量場的繪製 要繪出梯度向量場,先以gradient() 計算梯度,然後再以quiver() 繪出圖形
繪製梯度向量場 >> [xx,yy,zz]=peaks(32); >> [xx,yy]=meshgrid(-2:0.2:2,-2:0.2:2); >> [u,v]=gradient(zz); >> zz=sin(xx).*cos(yy); >> quiver(xx,yy,u,v);axis tight >> [u,v]=gradient(zz); >> quiver(xx,yy,u,v) >> hold on >> contour(xx,yy,zz); hold off
三維法向量的繪圖 >> [xx,yy]=meshgrid(-2:0.2:2,-2:0.2:2); >> [u,v,w]=surfnorm(xx,yy,zz); >> zz=yy./(xx.^2+yy.^2+1); >> quiver3(xx,yy,zz,u,v,w,0.4); hold off >> surf(xx,yy,zz);axis tight; hold on
長條圖 >> bar([1 4 3 7 2 6]) >> A=[1 2 3 6; 2 4 1 3; 8 6 1 4]; >> bar(A,0.5) >> bar([1 3 5],A,'stacked') >> bar(A)
立體的長條圖 >> A=[1 2 3 6; > bar3([2 4 6],A); ylabel('y-axis') 2 4 1 3; 8 6 1 4]; > bar3([2 4 6],A); ylabel('y-axis') >> bar3(A);ylabel('y-axis')
圓形圖 >> pie([4 6 3 1]) >> pie([4 6 3 1],[0 0 0 1])
直方圖 >> data=[0 3 3 4 5 3 7 4 2 8 2 8 10]; >> v=hist(data) 1 2 3 2 1 0 1 2 0 1 >> data2=randn(10000,1); >> hist(data2,20) >> hist(data)
動畫的製作 >> t=linspace(0,4*pi,10000); >> comet(t,sin(3*t)+cos(tan(t))) >> comet3(sin(t/2).*cos(6*t),... sin(t/2).*sin(6*t),t)
Exercises(1/1) 請將r= sin(3x)與r=cos(sin(6x)),0≤x≤ 2π,的圖形繪於同一張極座標圖上,資料點120點。 請繪出 的圖形與其法向量 ,並取40x40個資料點。 某班的期中考成績如下所示: 10 63 78 74 40 90 100 73 79 10 74 10 20 33 15 10 49 38 45 36 58 36 20 38 30 30 53 30 35 44 35 10 71 75 20 23 57 38 0 0 試求出全班的平均成績,並以直方圖(間隔數取20)繪出其成績分佈。