知道各点三维坐标,如何在matlab中绘出曲线?

如题所述

已知(0,0,0)(1,1,1)(2,8,2)(4,5,6)则用:
plot3([0 1 2 4],[0 1 8 5],[0 1 2 6])
点再多,你只要按此添上就行。
二维的你用:plot([x1 x2 x3 x4 ……],[y1 y2 y3 y4 ……]),这是画折线。具体的参数控制你还可以查看MATLAB帮助文件。

二维曲线拟合:
X=[0 0.4 1.59 3.55 6.29 9.7 13.81 23.84];
Y=[0 5 10 15 20 25 30 35];
y=polyfit(X,Y,4);%4表示阶数,越大拟合结果越精确
disp(['拟合结果:','y=',poly2str(y,'x')])
plot(X,Y,'r*');hold on;
x=(0:0.1:16);
y2=polyval(y,x);
plot(x,y2);grid;
xlabel('X');ylabel('Y');title('拟合曲线');
legend('原数据点','拟合曲线');%拟合结果与原数据点的比较
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-20
%忽略其他影响时,理想的传输效果
xr=5;
xl=-5;
x=xl:0.01:xr;
z=0:0.01:10;
[x,z]=meshgrid(xl:0.01:xr,0:0.01:10);
r=0;
%泵浦激励为高斯脉冲
t0=0.5;
wh=2*sqrt(log(2))*t0
save
outputwh.txt
-ascii
wh;
a=exp(-x.^2/(2*t0^2));%高斯脉冲的数学表示式
aa=a.*exp(-i*r.*z)
u=abs(aa)
surf(x,z,u)
相似回答