如何解这道题(用matlab

来源:百度知道 编辑:UC知道 时间:2024/06/11 10:48:22
“已知某平原地区的一条公路经过如下坐标点,请用不同的插值方法绘出这条公路(不考虑公路的宽度)。对于下表给出的数据,编程计算三次样条插值估计的公路长度。”
X(m) 0 30 50 70 80 90 120 148 170 180
Y(m) 80 64 47 42 48 66 80 120 121 138
X(m) 202 212 230 248 268 271 280 290 300 312
Y(m) 160 182 200 208 212 210 200 196 188 186
X(m) 320 340 360 372 382 390 416 430 478 440
Y(m) 200 184 188 200 202 240 246 280 296 308
X(m) 420 380 360 340 320 314 280 240 200
Y(m) 334 328 334 346 356 360 392 390 400

首先构造复数点对序列:
Z(m)=X(m)+j*Y(m)
本题中的点对数为39即T=(1:39)
对此点对序列做内插:
zz=interp1(T,Z,tt,'spline')
其中内插点数由你定,比如可以tt=(1:390)/10
于是就可以画出插值后的公路图线了
plot(zz)即可。

计算路线长度可以如下:
L=sum(abs(zz(2:end)-zz(1:end-1)));