zoukankan      html  css  js  c++  java
  • MATLAB期末试题

    MATLAB编程》测试题

     

    院系:计算机科学与技术学院    年级:                 专业:计算机科学与技术

    学号:                   姓名:                 

     

    在下面各题的题后分别贴出MATLAB代码及相应的代码结果:

    目录

    1、... 1

    2、... 4

    3、... 5

    4、... 6

    5、... 7

    6、... 8

    7、... 12

    8、... 13

    9、... 15

    10、... 16

    1、

    设求AB、BTA、A-1与A-1B,求A2、A的2次数幂,并求矩阵A的秩、转置和行列式。

    代码:

    A = [21 2 3; 4 35 6; 7 8 49];

    B = [3; 2; 1];

    ans1 = A * B

    ans2 = B' * A

    ans3 = inv(A)

    ans4 = A \ B

    ans5 = A^2

    ans6 = A.^2

    ans7 = rank(A)

    ans8 = A'

    ans9 = det(A)

    结果:

    ans1 =

        70

        88

        86

    ans2 =

        78    84    70

    ans3 =

        0.0489   -0.0022   -0.0027

       -0.0045    0.0296   -0.0033

       -0.0063   -0.0045    0.0213

    ans4 =

        0.1398

        0.0423

       -0.0065

    ans5 =

             470         136         222

             266        1281         516

             522         686        2470

    ans6 =

             441           4           9

              16        1225          36

              49          64        2401

    ans7 =

         3

    ans8 =

        21     4     7

         2    35     8

         3     6    49

    ans9 =

           34060

    2、

    分别对A=[11, 12, 13]、A=[11; 12; 13]和A=diag([11 12 13]),求diag(diag(A))。

    代码:

    A = [11, 12, 13];

    ans1 = diag(diag(A))

    A = [11; 12; 13];

    ans2 = diag(diag(A))

    A = diag([11 12 13]);

    ans3 = diag(diag(A))

    结果:

    ans1 =

        11

        12

        13

    ans2 =

        11

        12

        13

    ans3 =

        11     0     0

         0    12     0

         0     0    13

    3、

    若x=[1, 3], y=[2, 4],[X, Y]=meshgrid(x, y),写出X与Y。

    代码:

    x = [1, 3];

    y = [2, 4];

    [X, Y] = meshgrid(x, y)

    结果:

    X =

         1     3

         1     3

    Y =

         2     2

    4           4

    4、

    设A=[6, 4; 5, 3; 2, 1],则求reshape(A, 2, 3)。

    代码:

    A = [6, 4; 5, 3; 2, 1];

    reshape(A, 2, 3

    结果:

    ans =

         6     2     3

         5     4     1

    5、

    求矩阵的特征值和特征向量。

    代码:

    A = [10, 2, 3; 2, 9, 4; 3, 4, 8];

    [V,D] = eig(A)

    结果:

    V =

        0.2113    0.7887    0.5774

        0.5774   -0.5774    0.5774

       -0.7887   -0.2113    0.5774

    D =

        4.2679         0         0

             0    7.7321         0

    0               0   15.0000

    6、

    编写一个判断闰年的函数来判断从2010年到2100年之间有哪些年份是闰年。(闰年可以被4整除但不能被100整除,或者可以被400整除)

    代码:

    for i = 2010 : 2100

       if IsLeapYear(i) == true

           fprintf('%d is a leap year\n', i);

       else

           fprintf('%d is not a leap year\n', i); 

       end

    end

     

    %判断year是否是闰年

    %是闰年则返回true,否则返回false

    function result = IsLeapYear(year)

    if (mod(year, 4) == 0 && mod(year, 100) ~= 0) || mod(year, 400) == 0

        result = true;

    else

        result = false;

    end

    end

    结果:

    2010 is not a leap year

    2011 is not a leap year

    2012 is a leap year

    2013 is not a leap year

    2014 is not a leap year

    2015 is not a leap year

    2016 is a leap year

    2017 is not a leap year

    2018 is not a leap year

    2019 is not a leap year

    2020 is a leap year

    2021 is not a leap year

    2022 is not a leap year

    2023 is not a leap year

    2024 is a leap year

    2025 is not a leap year

    2026 is not a leap year

    2027 is not a leap year

    2028 is a leap year

    2029 is not a leap year

    2030 is not a leap year

    2031 is not a leap year

    2032 is a leap year

    2033 is not a leap year

    2034 is not a leap year

    2035 is not a leap year

    2036 is a leap year

    2037 is not a leap year

    2038 is not a leap year

    2039 is not a leap year

    2040 is a leap year

    2041 is not a leap year

    2042 is not a leap year

    2043 is not a leap year

    2044 is a leap year

    2045 is not a leap year

    2046 is not a leap year

    2047 is not a leap year

    2048 is a leap year

    2049 is not a leap year

    2050 is not a leap year

    2051 is not a leap year

    2052 is a leap year

    2053 is not a leap year

    2054 is not a leap year

    2055 is not a leap year

    2056 is a leap year

    2057 is not a leap year

    2058 is not a leap year

    2059 is not a leap year

    2060 is a leap year

    2061 is not a leap year

    2062 is not a leap year

    2063 is not a leap year

    2064 is a leap year

    2065 is not a leap year

    2066 is not a leap year

    2067 is not a leap year

    2068 is a leap year

    2069 is not a leap year

    2070 is not a leap year

    2071 is not a leap year

    2072 is a leap year

    2073 is not a leap year

    2074 is not a leap year

    2075 is not a leap year

    2076 is a leap year

    2077 is not a leap year

    2078 is not a leap year

    2079 is not a leap year

    2080 is a leap year

    2081 is not a leap year

    2082 is not a leap year

    2083 is not a leap year

    2084 is a leap year

    2085 is not a leap year

    2086 is not a leap year

    2087 is not a leap year

    2088 is a leap year

    2089 is not a leap year

    2090 is not a leap year

    2091 is not a leap year

    2092 is a leap year

    2093 is not a leap year

    2094 is not a leap year

    2095 is not a leap year

    2096 is a leap year

    2097 is not a leap year

    2098 is not a leap year

    2099 is not a leap year

    2100 is not a leap year

    7、

    编写一个计算阶乘的函数,分别计算1到10内所有正整数的阶乘。

    代码:

    for i = 1 : 10

        fprintf('%d! = %d\n', i, GetFactorial(i));

    end

    %求一个数的阶乘

    function result = GetFactorial(num)

    result = 1;

    for i = 2 : num

        result = result .* i;

    end

    end

    结果:

    1! = 1

    2! = 2

    3! = 6

    4! = 24

    5! = 120

    6! = 720

    7! = 5040

    8! = 40320

    9! = 362880

    10! = 3628800

    8、

    设y = sin (2x)+n, 其中n为服从标准正态分布的随机数,画出区间[0, 2*pi]上等间隔取20个点的y的散点图,并用2次多项式对这些点进行拟合,画出拟合曲线。

    代码:

    n = normrnd(0,1,1,20);

    x = 0: 2*pi/19: 2*pi; %generate 20 points

    y = sin(2 * x) + n;

    plot(x, y, 'b*');

     

    hold on

    p = polyfit(x, y, 2);

    t = 0: 0.003: 2*pi;

    y = polyval(p, t);

    plot(t, y, 'r');

     

    grid on;

    xlabel('x');

    ylabel('y');

    title('quadratic polyfit');

    set(gca, 'XTick', 0: pi/2: 2*pi);

    set(gca, 'XTickLabel', {'0', 'pi/2', 'pi', 'pi*3/2', '2*pi'});

    结果:

    9、

    画图判断函数是否为周期函数。

    代码:

    x = -4*pi: 0.005: 4*pi;

    y = sin(x) + cos(2 * x);

    plot(x, y, 'r');

     

    grid on;

    xlabel('x');

    ylabel('y');

    title('y = sin(x) + cos(2 * x)');

    set(gca, 'XTick', -4*pi: pi: 4*pi);

    set(gca, 'XTickLabel', {'-2*pi', '-pi*3/2', '-pi', '-pi/2', '0', 'pi/2', 'pi', 'pi*3/2', '2*pi'});

    结果:

    10、

    在同一图形中作出向零取整函数和函数的图形,用不同的线型、点型和颜色来表示并标记出来。

    代码:

    hold on

    fplot('fix(x)',[-4, 4], 'm:*');

    fplot('x - fix(x)',[-4, 4], 'b-.');

     

    legend('y=[x]', 'y=x-[x]', 'Location', 'NorthEastOutside');

    xlabel('x');

    ylabel('y');

    结果:

  • 相关阅读:
    loopback 03
    loopback 02
    loopback 01
    node.js整理 02文件操作-常用API
    node.js整理 01代码的组织和部署
    express-21 静态内容
    coffeeScript学习02
    coffeeScript学习01
    jade学习02
    Android 读取Assets中资源
  • 原文地址:https://www.cnblogs.com/jjtx/p/2851678.html
Copyright © 2011-2022 走看看