clc;clear;close all
theta=[0:0.1:2*pi];
x=theta;
%9条曲线画一起你不嫌乱啊?
%问题1
for i=1:9
figure(1);
hold on;
y1=cos(((i-1)*2+1)*theta);
plot(theta,y1,'color',[rand(1),rand(1),rand(1)]);
axis equal
end
xlabel('x');
ylabel('y');
%问题2
X=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
Y=[3 1 8 16 12 18 23 27 30 13];
order=[3 5 8];
colorctrl={'r','g','b'};
for i=1:3
poly=polyfit(X,Y,order(i));
Yf=polyval(poly,X);
figure(2);
hold on
plot(X,Yf,colorctrl{i});
end
figure(2);plot(X,Y,'rs');
legend('3阶','5阶','8阶','原始数据',2);
xlabel('x');
ylabel('y');
%problem 3
%你的表达式不是标准的,不知道你要表达什么,我先按我理解的做了,不对的话你自己改下
y1=0.2-0.5*x.*cos(4*pi*x);
y2=2-0.5*x.*cos(pi*x);
figure(3);
plot(x,y1,x,y2);
legend('y1','y2');
xlabel('x');
ylabel('y');
%problem 4
%不知道你说的绕Z轴旋转两遍是什么意思,是不是我弄的这样
figure(4)
x=[-3:0.1:3];
y=x;
[Xi,Yi]=meshgrid(x,y);
Zi=-sin(Xi).^2-cos(Yi).^3;
surf(Xi,Yi,Zi);
xlabel('x');
ylabel('y');
zlabel('z');
for i=1:180;
figure(4);
pause(0.01);
view(i,30);
axis equal
end
view(-37.5,30)