• Matlab练习——矩阵和数组的操作


    题目来自:《战胜MATLAB必做练习50道》

    题目有更改,改成了我想写的样子。

    1. 创建一个3×3矩阵,并将其扩充为4×5矩阵

    clear;
    clc;
    mat1 = ones(3,3)
    mat2 = zeros(3,3)
    mat3 = rand(3,3)          %随机矩阵
    mat4 = randn(3,3)         %产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的矩阵
    mat4(4,5) = 10

    2. 建立一个等比数列,然后由它产生一个对角阵,并存储该矩阵。

    clear;
    clc;
    a = logspace(0,4,5)
    d1 = diag(a)
    save mydate d1
    %eye(m,n)生成一个m×n的单位矩阵

    3. 调用上面存储的矩阵,并由它产生一个列向量。

    clear;
    clc;
    load mydate d1
    d1
    d2 = diag(d1)

    4. 创建一个3×3魔方阵和相应的随机矩阵,将两个矩阵拼接起来。然后提取任意元素。

    魔方阵:任意行、列及对角线之和相等。

    clear;
    clc;
    mat1 = magic(3)
    mat2 = rand(3,3)
    mat3 = [mat1,mat2]     %横向拼接
    mat4 = [mat1;mat2]     %纵向拼接
    mat5 = mat3(2:3,[1,3,4])   %提取第2、3行,第1、3、4列的元素
    mat6 = mat3([1,3],[2,4])

    5. 求矩阵的转置矩阵。

    clear;
    clc;
    mat1 = magic(3)
    mat2 = rot90(mat1)     %旋转矩阵
    mat3 = mat1'           %转置矩阵

    6. 创建一个4×4单位矩阵,提取主对角线上的元素

    clear;
    clc;
    mat1 = rand(4,4)
    d = diag(mat1)

    7. 创建一个4×5随机矩阵,提取第一行和第二行中大于0.3的元素组成的矩阵。

    clear;
    clc;
    mat1 = rand(4,5)
    mat2 = mat1([1,2],[1,2,3,4,5])
    mat3 = mat2(:)
    k = 1;
    for ii = 1 : length(mat3)
        if(mat3(ii) > 0.3)
            mat4(k) = mat3(ii);
            k = k + 1;
        end
    end
    mat4

    8. 计算A×B×C。

    clear;
    clc;
    A = rand(3)
    B = magic(3)
    C = rand(3,4)
    A*B*C

    9. A=[1,2,3],计算A‘ 与A 的积。

    clear;
    clc;
    A = [1,2,3]
    B = A'
    A*B
    B*A

    10. 求5×5矩阵和4×3矩阵的逆矩阵

    clear;
    clc;
    A = rand(5,5)
    B = rand(4,3)
    A1 = inv(A)             %inv只能对方阵求逆
    B1 = pinv(B)            %pinv都可,包含了inv的功能
    C = A*A1
    D = B1*B    

    11. 用两种方法 求解Ax = b的解(A为4阶随机矩阵,b为4阶列向量)

    clear;
    clc;
    A = rand(4)
    b = ones(4,1)
    x1 = inv(A) * b
    x2 = A                  %直接使用高斯消去法,速度快一些    

    12. 算A的5次方,计算(0.5)^A

    矩阵的乘方算法(A^p):

         ①  当p为正整数时,A^p表示A自乘p次

         ②  当p为负整数时,A^(-p)表示矩阵A-1自乘p次

         ③  当p为0时,A^0等于与A同维的单位矩阵

         ④  当p为分数时,若A可以分解为A = WDW-1,D为对角阵,则A^p = WDpW-1

    标量的矩阵乘方(p^A):

         若A可以分解为A = WDW-1,D为对角阵,则可以定义标量矩阵乘方为:

     

    clear;
    clc;
    A = rand(4)
    B = A^5           %A自乘5次
    C = (0.5)^A
  • 相关阅读:
    [LeetCode] 394. Decode String 解码字符串
    [LeetCode] 393. UTF-8 Validation 编码验证
    [LeetCode] Is Subsequence 是子序列
    [LintCode] Maximum Gap 求最大间距
    [LintCode] Nuts & Bolts Problem 螺栓螺母问题
    [LintCode] Kth Smallest Number in Sorted Matrix 有序矩阵中第K小的数字
    [LeetCode] Perfect Rectangle 完美矩形
    LaTex Remove Left Margin 去除左边空间
    LaTex Font Size 字体大小命令
    [LintCode] Continuous Subarray Sum 连续子数组之和
  • 原文地址:https://www.cnblogs.com/farewell-farewell/p/7233308.html
Copyright © 2020-2023  润新知