Matlab之绘制参考线函数refline和refcurve
目錄
一、函數refline
1.功能
2.語法
3.示例
3.1在均值處添加參考線
3.2指定要添加最小二乘線和參考線的坐標區
二、函數refcurve
1.功能
2.語法
3.示例
3.1添加總體和擬合均值函數
3.2使用refcurve繪制棒球的軌跡
一、函數refline
1.功能
將參考線添加到繪圖中
2.語法
- refline(m,b)?
在當前坐標區中添加一條具有斜率?m?和截距?b?的參考線。
- refline(coeffs)?
將由向量?coeffs?的元素定義的線添加到圖窗中。沒有輸入參數的?refline?等效于?lsline。
- refline(ax,___)?
使用上述任一語法中的輸入參數,向?ax?所指定坐標區中的圖上添加一條參考線。
- hline?=?refline(___)?
使用上述任一語法中的輸入參數,返回參考線對象?hline。在創建參考線后,使用?hline?修改其屬性。有關屬性列表,請參閱?Line 屬性
3.示例
3.1在均值處添加參考線
為自變量?x?和因變量?y?生成樣本數據
% 為自變量 x 和因變量 y 生成樣本數據。 x = 1:10; y = x + randn(1,10); %創建 x 和 y 的散點圖。 scatter(x,y,25,'b','*')在散點圖上疊加一條最小二乘線
refline在散點圖的均值處添加一條參考線
mu = mean(y); hline = refline([0 mu]); hline.Color = 'r';紅線是數據均值處的參考線。
3.2指定要添加最小二乘線和參考線的坐標區
定義用于繪圖的 x 變量和兩個不同 y 變量。
將?ax1?定義為圖窗的上半部分,ax2?定義為圖窗的下半部分。
使用?y1?在頂部坐標區中創建第一個散點圖,使用?y2?在底部坐標區中創建第二個散點圖。
% 定義用于繪圖的 x 變量和兩個不同 y 變量。 rng default % For reproducibility x = 1:10; y1 = x + randn(1,10); y2 = 2*x + randn(1,10); % figure ax1 = subplot(2,1,1); ax2 = subplot(2,1,2);scatter(ax1,x,y1) scatter(ax2,x,y2)在頂部繪圖上疊加一條最小二乘線,在底部繪圖上?y2?值的均值處疊加一條參考線。
lsline(ax1) % This is equivalent to refline(ax1)mu = mean(y2); refline(ax2,[0 mu])二、函數refcurve
1.功能
將參考曲線添加到繪圖
2.語法
- refcurve(p)
將系數為p的多項式參考曲線添加到當前軸
- refcurve(ax,p)
使用在axes(一個Axes對象)中指定的繪圖軸。 有關更多信息,請參見axes。
- hcurve = refcurve(...)
使用先前語法中的任何輸入參數組合將句柄hcurve返回到曲線。
3.示例
3.1添加總體和擬合均值函數
% 生成具有多項式趨勢的數據。 p = [1 -2 -1 0]; t = 0:0.1:3; rng default % For reproducibility y = polyval(p,t) + 0.5*randn(size(t)); % 繪制數據并使用refcurve添加總體均值函數。 plot(t,y,'ro') h = refcurve(p); h.Color = 'r';還添加擬合的均值函數
q = polyfit(t,y,3); refcurve(q) legend('Data','Population Mean','Fitted Mean',...'Location','NW')3.2使用refcurve繪制棒球的軌跡
% 介紹相關的物理常數。 M = 0.145; % Mass (kg) R = 0.0366; % Radius (m) A = pi*R^2; % Area (m^2) rho = 1.2; % Density of air (kg/m^3) C = 0.5; % Drag coefficient D = rho*C*A/2; % Drag proportional to the square of the speed g = 9.8; % Acceleration due to gravity (m/s^2) % 假設在每個時間間隔內都保持恒定的加速度,則用與速度的平方成比例的阻力來模擬軌跡。 dt = 1e-2; % Simulation time interval (s) r0 = [0 1]; % Initial position (m) s0 = 50; % Initial speed (m/s) alpha0 = 35; % Initial angle (deg) v0 = s0*[cosd(alpha0) sind(alpha0)]; % Initial velocity (m/s)r = r0; v = v0; trajectory = r0; while r(2) > 0a = [0 -g] - (D/M)*norm(v)*v;v = v + a*dt;r = r + v*dt + (1/2)*a*(dt^2);trajectory = [trajectory;r]; end % 繪制軌跡并使用refcurve將無阻力的拋物線軌跡(通過分析找到)添加到軌跡圖。 figure plot(trajectory(:,1),trajectory(:,2),'m','LineWidth',2) xlim([0,250]) h = refcurve([-g/(2*v0(1)^2),...(g*r0(1)/v0(1)^2) + (v0(2)/v0(1)),...(-g*r0(1)^2/(2*v0(1)^2)) - (v0(2)*r0(1)/v0(1)) + r0(2)]); h.Color = 'c'; h.LineWidth = 2; axis equal ylim([0,50]) grid on xlabel('Distance (m)') ylabel('Height (m)') title('{\bf Baseball Trajectories}') legend('With Drag','Without Drag')總結
以上是生活随笔為你收集整理的Matlab之绘制参考线函数refline和refcurve的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抓取WiFi空口包的方式总结
- 下一篇: 大数据 (016)Hadoop-MR编程