寫**時候,可能會用到繪製空間曲線。這裡給出乙個自己寫的matlab函式,用於將一組離散的3d點繪製成空間曲線。點多的時候效果比較好,因為每兩個點之間是直線連線。曲線的顏色是從起點到終點漸變的~
function [ ] = drawcolorfulcurve( pointlist, startpointcolor,endpointcolor,circleradius)
%drawcolorfulcurve 繪製從起點到終點顏色漸變的空間曲線
%pointlist :3d point array
%startpointcolor: the color of starting point
%endpointcolor: the color of end point
%circleradius: the tadius of starting and end points
% below is some default params
if(nargin<2)
startpointcolor = [1,0,0];
endpointcolor = [0,1,0];
circleradius=50;
elseif(nargin<4)
circleradius=50;
end% the main function body
[pointnum, temp] = size(pointlist);
colorstep = (endpointcolor-startpointcolor)/(pointnum-1);
for i=1:pointnum-1
plot3(pointlist(i:i+1,1),pointlist(i:i+1,2),pointlist(i:i+1,3),'color',colorstep*(i-1)+startpointcolor);
hold on
endhold on
scatter3(pointlist(1,1),pointlist(1,2),pointlist(1,3),circleradius,startpointcolor);
hold on
scatter3(pointlist(pointnum,1),pointlist(pointnum,2),pointlist(pointnum,3),circleradius,endpointcolor);
end
clear all
pointlist =load('trajectorydata.txt');
drawcolorfulcurve(pointlist);
grid on
給出乙個參考資料點檔案,繪製效果如下圖。
matlab由離散點繪製光滑曲線並額外標註點
最近專業選修課在學matlab,因為之前做課程專案用過,所以學著還是蠻順利的。直到最近需要做一張圖,將存在一張excel表裡的資料畫出來,並且標註一些不在定義域裡的點。乍一看要求還沒太明白,就先把data.xlsx裡的資料讀出來 data xlsread data.xlsx x data 1 8,1...
利用MATLAB繪製相軌跡
不直接用時間變數而用狀態變數表示運動的方法稱為相空間方法,也稱為狀態空間方法。在自動控制理論中,把具有直角座標x和x 的平面叫做相平面。相平面是二維的狀態空間,二階系統的某一狀態對應於相平面上的一點,狀態隨時間轉移的情況對應於相平面上點的移動。相平面上的點隨時間變化描繪出來的曲線叫做相軌跡。相軌跡作...
利用MATLAB繪製內擺線動畫
生成內擺線的函式 function curveplot a,x0,y0,x,y,xin,yin 繪製某一時刻的大圓 小圓和點m a即題中的a,x0,y0 為小圓圓心,x,y 為m點的起始位置,xin,yin 為m點的一般位置 phi 0 0.01 2 pi x 4 a cos phi x,y 為大圓...