早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求教matlab大神x=(0:0.2*pi:2*pi); %原始数据y=sin(x);xx=(0:0.01:2*pi); str=["linear";"nearest";"spline";"cubic"];for i=1:1:4yy=interp1(x,y,xx,str(1));figure(i);plot(x,y,"g*",xx,sin(xx),xx,yy,"r-")legend("data","y=sin(x)",str(i))end有错吗,为

题目详情
求教matlab大神
x=(0:0.2*pi:2*pi); %原始数据
y=sin(x);
xx=(0:0.01:2*pi);
str=['linear';'nearest';'spline';'cubic'];
for i=1:1:4
yy=interp1(x,y,xx,str(1));
figure(i);
plot(x,y,'g*',xx,sin(xx),xx,yy,'r-')
legend('data','y=sin(x)',str(i))
end
有错吗,为什么?Error using ==> vertcat
CAT arguments dimensions are not consistent.
▼优质解答
答案和解析
字符串的用法不对,正确程序如下:

x=(0:0.2*pi:2*pi); %原始数据
y=sin(x);xx=(0:0.01:2*pi);
str={'linear';'nearest';'spline';'cubic'};
for i=1:1:4
yy=interp1(x,y,xx,str{i});
figure(i);
plot(x,y,'g*',xx,sin(xx),xx,yy,'r-')
legend('data','y=sin(x)',str{i})
end