matlab中如何画出这些数据的图形,要连续的曲线。
x=[585654484033200-20-40-48-50-53-585653504820036-48-54-55-55];>>y=[14001200100050015...
x=[58 56 54 48 40 33 20 0 -20 -40 -48 -50 -53 -58 56 53 50 48 20 0 36 -48 -54 -55 -55];
>> y=[1400 1200 1000 500 150 0 -280 -450 -600 -800 -1000 -1100 -1200 -1400 1300 1200 1100 1000 650 500 0 -500 -900 -1100 -1200];
高手们帮帮忙
matlab中如何画出这些数据的图形,要连续的曲线。不需要散点图。听说需要三次样条插值 展开
>> y=[1400 1200 1000 500 150 0 -280 -450 -600 -800 -1000 -1100 -1200 -1400 1300 1200 1100 1000 650 500 0 -500 -900 -1100 -1200];
高手们帮帮忙
matlab中如何画出这些数据的图形,要连续的曲线。不需要散点图。听说需要三次样条插值 展开
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
展开全部
x(21)有问题,应该是-36,不是36.
clear;clc;close all;
warning off all;
x=[58 56 54 48 40 33 20 0 -20 -40 -48 -50 -53 -58 56 53 50 48 20 0 -36 -48 -54 -55 -55];
y=[1400 1200 1000 500 150 0 -280 -450 -600 -800 -1000 -1100 -1200 -1400 1300 1200 1100 1000 650 500 0 -500 -900 -1100 -1200];
%数据构成循环,并作出反函数:
X=[y(1:14),y(end:-1:15),y(1)];
Y=[x(1:14),x(end:-1:15),x(1)];
%绘制原图形的概貌
plot(X,Y);
hold on;
%拟合成两条三次曲线:
for n=1:3:12,
X1=X(n:n+3);
Y1=Y(n:n+3);
A1=polyfit(X1,Y1,3);
%提取系数:
a1=A1(1);
b1=A1(2);
c1=A1(3);
d1=A1(4);
%画拟合曲线:
X1=min(X1):max(X1);
plot(X1,a1.*X1.^3+b1.*X1.^2+c1.*X1+d1,'r');
end;
for n=15:3:length(X)-3,
X2=X(n:n+3);
Y2=Y(n:n+3);
A2=polyfit(X2,Y2,3);
a2=A2(1);
b2=A2(2);
c2=A2(3);
d2=A2(4);
X2=min(X2):max(X2);
plot(X2,a2*X2.^3+b2*X2.^2+c2.*X2+d2,'r');
end;
plot(X(13:15),Y(13:15),'r');
plot(X(24:end),Y(24:end),'r');
hold off;
clear;clc;close all;
warning off all;
x=[58 56 54 48 40 33 20 0 -20 -40 -48 -50 -53 -58 56 53 50 48 20 0 -36 -48 -54 -55 -55];
y=[1400 1200 1000 500 150 0 -280 -450 -600 -800 -1000 -1100 -1200 -1400 1300 1200 1100 1000 650 500 0 -500 -900 -1100 -1200];
%数据构成循环,并作出反函数:
X=[y(1:14),y(end:-1:15),y(1)];
Y=[x(1:14),x(end:-1:15),x(1)];
%绘制原图形的概貌
plot(X,Y);
hold on;
%拟合成两条三次曲线:
for n=1:3:12,
X1=X(n:n+3);
Y1=Y(n:n+3);
A1=polyfit(X1,Y1,3);
%提取系数:
a1=A1(1);
b1=A1(2);
c1=A1(3);
d1=A1(4);
%画拟合曲线:
X1=min(X1):max(X1);
plot(X1,a1.*X1.^3+b1.*X1.^2+c1.*X1+d1,'r');
end;
for n=15:3:length(X)-3,
X2=X(n:n+3);
Y2=Y(n:n+3);
A2=polyfit(X2,Y2,3);
a2=A2(1);
b2=A2(2);
c2=A2(3);
d2=A2(4);
X2=min(X2):max(X2);
plot(X2,a2*X2.^3+b2*X2.^2+c2.*X2+d2,'r');
end;
plot(X(13:15),Y(13:15),'r');
plot(X(24:end),Y(24:end),'r');
hold off;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的x和y是一个点的坐标呢,还是分开的两串数据?
更多追问追答
追问
x,y是点的坐标,我已经在matlab中输入好了,方便复制
追答
clc;
clear;
x=[58 56 54 48 40 33 20 0 -20 -40 -48 -50 -53 -58 56 53 50 48 20 0 36 -48 -54 -55 -55];
y=[1400 1200 1000 500 150 0 -280 -450 -600 -800 -1000 -1100 -1200 -1400 1300 1200 1100 1000 650 500 0 -500 -900 -1100 -1200];
z=x+i*y;
tx1=1:length(x);
tx2=1:0.01:length(x);
ty1=1:length(y);
ty2=1:0.01:length(y);
xx=interp1(tx1,x,tx2,'cubic');
yy=interp1(ty1,y,ty2,'cubic');
zz=xx+i*yy;
figure(1)
hold on
for idx=1:length(x)
plot(real(z(idx)),imag(z(idx)),'b*')
text(real(z(idx)),imag(z(idx)), int2str(idx));
end
plot(zz,'-b')
**************************************
看这个吧,刚才写的画图的时候有点不好。这个看的清楚点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询