一些語句
size(a,x);
xis=size(xi,2); %獲取矩陣xi的列數 xis=size(xi,1); %獲取矩陣xi的行數
round函數 四舍五入,在繪制三維圖形時如果數據比較大,可以通過以下方法把數據按應有比例減小 (我自己理解的,有錯請指正)
x=round(x'./100+1); %這部分使數據減小,便於作圖處理等 y=round(y'./100+1);
matlab中提供的插值函數 griddata ,其基本格式為 cz=griddata(x,y,z,cx,cy,'method');
其中,參數method有以下四個可以選擇:
‘nearest’ :最鄰近點插值
‘linear’ :線性插值
‘cubic’: 三次插值
‘V4’:matlab中所提供的的插值方法
基本格式中 x,y,z均是n為向量,代表數據點的坐標,向量cx cy是給定的網格點的橫坐標和縱坐標,cz是矩陣,其行數和列數分別等於 cx 和 cy 的維數。(所以前面有提到round函數的用處,不然cz矩陣可能會特別特別大)
%手寫一下代碼 clear clc %讀入數據 load textx.txt load texty.txt load textz.txt %數據進行處理 textx=round(textx'./100+1); texty=round(texty'./100+1); textz=textz'; zi=zeros(max_x,max_y); %這里max_x max_y我理解的是textx texty中最大的值(初學者) for i=1:len zi(x(i),y(i))=z(i); end xi=0:step:lx; %step為步長 lx為自己設定的x軸長度,要大於等於max_x ,ly同理 yi=0:step:ly zi=griddata(x,y,z,xi,yi,'V4');%繪制三維曲面圖 subplot(1,2,1); mesh(xi,yi,zi); %繪制地形圖 %這是最基本的結構,其他內容可以在此基礎上添加
輸出