帮忙做几个简单的MATLAB题目

2个回答

  • 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)