已知矩阵A=[1 2 3;4 5 6;7 8 9],计算矩阵A的行列式及逆矩阵,应该调用什么函数指令?A.det(A) inv(A)B.rank(A) inv(A)C.det(A) rank(A)D.eig(A) rank(A)

题目

已知矩阵A=[1 2 3;4 5 6;7 8 9],计算矩阵A的行列式及逆矩阵,应该调用什么函数指令?

A.det(A) inv(A)

B.rank(A) inv(A)

C.det(A) rank(A)

D.eig(A) rank(A)


相似考题
更多“已知矩阵A=[1 2 3;4 5 6;7 8 9],计算矩阵A的行列式及逆矩阵,应该调用什么函数指令?”相关问题
  • 第1题:

    打开程序Cprog072.C,完成其中的fun函数,该函数将4阶矩阵A的各行中0之前的所有正数依次存放到数组b中,并返回这些正数之和。如矩阵A为则调用函数fun()后,b[0]为1,b[1]为2,b[2]为23,b[3]为32,函数返回58。


  • 第2题:

    请编写程序fun,函数的功能是:实现B=A+Aˊ,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。

    例如,输入下面的矩阵: 其转置矩阵为:

    1 2 3 1 4 7

    4 5 6 2 5 8

    7 8 9 3 6 9

    程序输出:

    2 6 10

    6 10 14

    10 14 18

    注意:部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是实现B=A+Aˊ,即把矩阵A加上A的转置。其中,所谓矩阵的转置,是把行中的数据与列中的数据进行对调。解题过程中首先求得已给的矩阵的转置,然后在循环过程中对矩阵与该矩阵的转置对应元素求和。

  • 第3题:

    以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

    例如,矩阵为:

    3 0 0 3

    2 5 7 3

    1 0 4 2

    则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

    add(int m,int n,int arr[])

    { int i,j,sum=0;

    for(i=0;i

    for(j=0;j<N;J++)

    sum=sum+ (7) ;

    for(j=0;j

    for(i=1; (8) ;i++)

    sum=sum+arr[i*n+j];

    return(sum);

    }


    正确答案:
    3.(7) arr[i*n+j](或者arr[i*10+j])

     (8) i<M-1(或者I<=M-2)

  • 第4题:

    设矩阵,已知矩阵A相似于B,则秩(A-2E)与秩(A-E)之和等于

    A.2
    B.3
    C.4
    D.5

    答案:C
    解析:

  • 第5题:

    设矩阵A=
      (1)已知A的一个特征值为3,试求y;
      (2)求可逆矩阵P,使(AP)^T(AP)为对角矩阵.


    答案:
    解析:

  • 第6题:

    二维图形变换使用了齐次坐标表示法,其变换矩阵是()。

    • A、2×2矩阵 
    • B、3×3矩阵 
    • C、4×4矩阵 
    • D、5×5矩阵

    正确答案:B

  • 第7题:

    函数determ(S)返回S矩阵的行列式值。


    正确答案:正确

  • 第8题:

    已知矩阵A[123;456;789],A(6)()A(1,3)()


    正确答案:8;3

  • 第9题:

    设3阶矩阵,已知A的伴随矩阵的秩为1,则a=()。

    • A、-2
    • B、-1
    • C、1
    • D、2

    正确答案:A

  • 第10题:

    问答题
    编写函数文件myfunction.m,求任意矩阵的均方根值,且当矩阵aa=[1,2,3;3,4,5]时,完成在MATLAB COMMAND窗口下的调用。

    正确答案: function rs=myfunction(a)
    [m,n]=size(a)
    sum=0
    for i=1:m
    for j=1:n
    sum=sum+a(i,j)
    end
    end
    rs=sqrt(sum/m/n)
    在命令窗中输入 aa = [ 1,2 ,3; 3,4,5 ] ,然后执行 rs=myfunction(aa) 即可。
    解析: 暂无解析

  • 第11题:

    单选题
    MATLAB中符号矩阵的运算函数()返回S矩阵的行列式值。
    A

    transpose(S)

    B

    determ(S)

    C

    colspace(S)

    D

    factor(S)


    正确答案: B
    解析: 暂无解析

  • 第12题:

    填空题
    MATLAB中用()函数完成矩阵的求逆运算,用()函数求矩阵的行列式。

    正确答案: Inv,det
    解析: 暂无解析

  • 第13题:

    下列程序的功能是( )。 main() { static int s[3][3]={1,2,3,4,5,6,7,8,9,),m,n; for(m=0;m<3;m++) { for(n=0;n<=m;n++) printf("%d",s[m][n]);printf("\n'); } }

    A.输出3×3矩阵的下三角的元素

    B.输出3×3矩阵的上三角的元素

    C.输出3×3矩阵的对角线上的元素

    D.输出3×3矩阵的元素


    正确答案:A
    解析:本题使用了一个双重for循环,外循环变量m的变化范围是0~2,而内循环变量n的变化范围从0~m,所以执行循环体时(m,n)的值依次为(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),故输出的是3×3矩阵的下三角元素。所以应该选择A。

  • 第14题:

    试题四(15分)

    阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。

    【说明】

    某工程计算中要完成多个矩阵相乘(链乘)的计算任务。

    两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定。采用标准的矩阵相乘算法,计算Am*n*Bn*p,需要m*n*p次乘法运算。

    矩阵相乘满足结合律,多个矩阵相乘,不同的计算顺序会产生不同的计算量。以矩阵A110*100,A2100*5,A35*50三个矩阵相乘为例,若按(A1*A2)*A3计算,则需要进行10*100*5+10*5*50=7500次乘法运算;若按A1*(A2*A3)计算,则需要进行100*5*50+10*100*50=75000次乘法运算。可见不同的计算顺序对计算量有很大的影响。

    矩阵链乘问题可描述为:给定n个矩阵<A1,A2,….An>,矩阵Ai的维数为pi-1*Pi,其中i = 1,2,….n。确定一种乘法顺序,使得这n个矩阵相乘时进行乘法的运算次数最少。

    由于可能的计算顺序数量非常庞大,对较大的n,用蛮力法确定计算顺序是不实际的。经过对问题进行分析,发现矩阵链乘问题具有最优子结构,即若A1*A2*…*An的一个最优计算顺序从第k个矩阵处断开,即分为A1*A2*….Ak和Ak+1*Ak+2*…*An两个子问题,则该最优解应该包含A1*A2*…*Ak的一个最优计算顺序和Ak+1*Ak+2*…An的一个最优计算顺序。据此构造递归式,

    其中,cost[i][j]表示Ai+1*Ai+2*...Aj+1的最优计算的计算代价。最终需要求解cost[0][n-1]。

    【C代码】

    算法实现采用自底向上的计算过程。首先计算两个矩阵相乘的计算量,然后依次计算3个矩阵、4个矩阵、…、n个矩阵相乘的最小计算量及最优计算顺序。下面是算法的C语言实现。

    (1)主要变量说明

    n:矩阵数

    seq[]:矩阵维数序列

    cost[][]:二维数组,长度为n*n,其中元素cost[i][j]表示Ai+1*Ai+2*…Aj+1的最优计算的计算代价

    trace[][]:二维数组,长度为n*n,其中元素trace[i][j]表示Ai+1*Ai+2*Aj+1的最优计算对应的划分位置,即k

    (2)函数cmm

    define N 100

    intcost[N][N];

    inttrace[N][N];

    int cmm(int n,int seq[]){

    int tempCost;

    int tempTrace;

    int i,j,k,p;

    int temp;

    for( i=0;i<n;i++){ cost[i][i] =0;}

    for(p=1;p<n;p++){

    for(i=0; (1) ;i++){

    (2);

    tempCost = -1;

    for(k = i;k<j;k++){

    temp = (3) ;

    if(tempCost==-1||tempCost>temp){

    tempCost = temp;

    (4) ;

    }

    }

    cost[i][j] = tempCost;

    trace[i][j] = tempTrace;

    }

    }

    return cost[0][n-1];

    }

    【问题1】(8分)

    根据以上说明和C代码,填充C代码中的空(1)~(4)。

    【问题2】(4分)

    根据以上说明和C代码,该问题采用了 (5) 算法设计策略,时间复杂度 (6) 。(用O符号表示)

    【问题3】(3分)

    考虑实例n=6,各个矩阵的维数:A1为5*10,A2为10*3,A3为3*12,A4为12*5,A5为5*50,A6为50*6,即维数序列为5,10,3,12,5,50,6。则根据上述C代码得到的一个最优计算顺序为 (7) (用加括号方式表示计算顺序),所需要的乘法运算次数为 (8) 。


    正确答案:

    试题四分析

    在解答本题时,需要注意的第一个问题便是矩阵的乘法到底是怎么进行的。

    一个nm列的矩阵可以乘以一个mp列的矩阵,得到的结果是一个np列的矩阵,其中的第i行第j列位置上的数等于前一个矩阵第i行上的m个数与后一个矩阵第j列上的m个数对应相乘后所有m个乘积的和。如:

    在本题中,题干部分提到“发现矩阵链乘问题具有最优子结构”,这是利用动态规划法求解最优解问题的典型特征。所以(5)应填动态规划法。

    接下来分析(1)-(4)空,这几个空中,最容易回答的是(3)和(4)。(3)空可通过题目给出的递归式分析得到,其中cost数组部分与公式完全一致,而p数组在程序中是seq,所以回答时修正即可,(3)填:cost[i][k]+cost[k+1][j]+seq[i]*seq[k+1]*seq[j+1]。第(4)空的上一句为:tempCost = temp,即保存当前状态最优解,由于在保存最优解时,不仅涉及cost的记录,还涉及其位置k的记录,所以需要在此进行tempTrace=k的操作。

    1)与(2)相对复杂,其中(1)是对i值范围的确定,而(2)是对j的赋值操作(由于后面用到了j,但程序中没有对j的赋值,从而断定该空是对j的赋值)。两者一并起到一个效果,对cost数组操作时的操作范围与顺序。由于在进行矩阵链乘操作时,分析解空间所用到的是cost右上角的三角矩阵,而操作时,是对这个三角矩阵从左至右,呈斜线的访问(如图所示)。所以(1)和(2)分别填i<n-pj=i+p

    该程序由于涉及3重循环,所以时间复杂度为:On3)。通过手动运行程序的方式可知最优解为:

    A1A2)((A3A4)(A5A6))。

    总计算次数为2010

    参考答案

    问题1

    1i<n-p

    2j=i+p

    3cost[i][k]+cost[k+1][j]+seq[i]*seq[k+1]*seq[j+1]

    4tempTrace=k

    问题2

    5)动态规划法 6On3

    问题3

    7)(A1A2)((A3A4)(A5A6)) 82010


  • 第15题:

    已知4阶矩阵A~B,A的特征值为3,4,5,6,E为4阶单位矩阵,则|B-E|=( )

    A.20
    B.60
    C.120
    D.360

    答案:C
    解析:

  • 第16题:

    已知,求作可s逆矩阵P,使得是对角矩阵。


    答案:
    解析:

  • 第17题:

    编写函数文件myfunction.m,求任意矩阵的均方根值,且当矩阵aa=[1,2,3;3,4,5]时,完成在MATLAB COMMAND窗口下的调用。


    正确答案: function rs=myfunction(a)
    [m,n]=size(a)
    sum=0
    for i=1:m
    for j=1:n
    sum=sum+a(i,j)
    end
    end
    rs=sqrt(sum/m/n)
    在命令窗中输入 aa = [ 1,2 ,3; 3,4,5 ] ,然后执行 rs=myfunction(aa) 即可。

  • 第18题:

    求可逆矩阵A的逆矩阵的指令是()


    正确答案:inv(A)

  • 第19题:

    MATLAB中用()函数完成矩阵的求逆运算,用()函数求矩阵的行列式。


    正确答案:Inv;det

  • 第20题:

    设A为4阶魔术矩阵,分别对A进行如下操作: 求矩阵A的逆; 求矩阵A的行列式; 求矩阵A的秩; 求矩阵A的迹;


    正确答案: >>A=magic(4)
    >>B=inv(A)
    >>C=det(A)
    >>D=rank(A)
    >>E=trace(A)

  • 第21题:

    问答题
    设A为4阶魔术矩阵,分别对A进行如下操作: 求矩阵A的逆; 求矩阵A的行列式; 求矩阵A的秩; 求矩阵A的迹;

    正确答案: >>A=magic(4)
    >>B=inv(A)
    >>C=det(A)
    >>D=rank(A)
    >>E=trace(A)
    解析: 暂无解析

  • 第22题:

    单选题
    设3阶矩阵,已知A的伴随矩阵的秩为1,则a=()。
    A

    -2

    B

    -1

    C

    1

    D

    2


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    二维图形变换使用了齐次坐标表示法,其变换矩阵是()。
    A

    2×2矩阵 

    B

    3×3矩阵 

    C

    4×4矩阵 

    D

    5×5矩阵


    正确答案: D
    解析: 暂无解析

  • 第24题:

    填空题
    求可逆矩阵A的逆矩阵的指令是()

    正确答案: inv(A)
    解析: 暂无解析