matlab矩阵中级1.13

%%   矩阵元素的查找
clear all;
A=[4 0 5;0 6 8;9 9 9]
B=find(A)                  %返回非0元素的位置
C=find(A>=5)               %返回位置
D=A(find(A>=5))            %A≥5的元素按矩阵索引顺序排列成一个列矩阵,然后把矩阵赋给D
A(find(A==9))=666         %把数值为9的元素赋值为666

D =

     9
     6
     9
     5
     8
     9

%%  矩阵元素的排序
clear all;
A=[3 0 4;0 2 1;5 4 7]
B=sort(A)               %   每一列从小到大排序
C=sort(A,2)             %   每一行从小到大排序
D=sort(A,'descend')     %   每一列降序排列  
E=sort(A,2,'descend')   %   每一行降序排列

A =

     3     0     4
     0     2     1
     5     4     7


B =

     0     0     1
     3     2     4
     5     4     7


C =

     0     3     4
     0     1     2
     4     5     7


D =

     5     4     7
     3     2     4
     0     0     1


E =

     4     3     0
     2     1     0
     7     5     4

%%  矩阵元素的求和
clear all;
A=[2 2 1 1;3 3 3 3;1 1 1 1]
B1=sum(A)       %每一列的和   变为一个行矩阵
B2=sum(A,2)    %每一行的和    变为一个列矩阵
C1=cumsum(A)   %返回值为矩阵  但是把A的最后一行中的每个数替换为对应的列和
C2=cumsum(A,2)  %返回值为矩阵  但是把A的最后一列中的每个数替换为对应的行和
D=sum(sum(A))    %  总和

A =

     2     2     1     1
     3     3     3     3
     1     1     1     1
B1 =

     6     6     5     5

B2 =

     6
    12
     4

C1 =

     2     2     1     1
     5     5     4     4
     6     6     5     5

C2 =

     2     4     5     6
     3     6     9    12
     1     2     3     4

D =

    22

%%  矩阵元素的求积
clear all;
A=[4 4 4 0;5 5 5 5;6 6 6 6]
B1=prod(A)
B2=prod(A,2)
C1=cumprod(A)    
C2=cumprod(A,2)
 %基本和上一个图一样的规律   但是注意C1和C2的第二行、第二列

A =

     4     4     4     0
     5     5     5     5
     6     6     6     6

B1 =

   120   120   120     0

B2 =

           0
         625
        1296

C1 =

     4     4     4     0
    20    20    20     0
   120   120   120     0

C2 =

           4          16          64           0
           5          25         125         625
           6          36         216        1296

%%   矩阵元素的差分
clear all;
A=[1 1 1 0;2 2 2 2;1 2 3 4]
B1=diff(A)              
B2=diff(A,2)    %每一列求2阶差分  即在B1基础上进行重复
B3=diff(A,1,1)   %列上进行1阶差分   即第一个数字为阶数   第二个数字 1代表列2代表行
B4=diff(A,1,2)   %行上进行1阶差分

A =

     1     1     1     0
     2     2     2     2
     1     2     3     4
B1 =

     1     1     1     2
    -1     0     1     2

B2 =

    -2    -1     0     0

B3 =

     1     1     1     2
    -1     0     1     2

B4 =

     0     0    -1
     0     0     0
     1     1     1

%%  全0矩阵
clear all;
A=zeros(3)
B=zeros(2,4)
C=zeros(size(B))
%%    全1矩阵
clear all;
A=ones(4)
B=ones([4,2])
C=ones(size(A))
%%  对角线是1的矩阵
clear all;
A=eye(4)
B=eye([4,5])
C=eye(size(B))
%%  随机矩阵    0到1 
clear all;
A=rand(4)
B=rand([2,5])
C=rand(size(B))
%%  每一行,每一列,对角线的和都相等
clear all;
A=magic(5)
%%  求方阵的行列式
clear all;
A=magic(5)
B=[2:4;5 5 5;3 3 3]
y1=det(A)
y2=det(B)
%% 计算矩阵的特征值
clear all;
A=magic(3)
E=eig(A)     %求矩阵的全部特征值,是一个向量
[V,D]=eig(A)   %返回两个方阵,V的每一列是一个特征向量,D的对角线上的元素是特征值
%%   求方程的根
clear all;
p=[4 4 4 1]   %向量P是方程的系数,从高到低排  4x^3+4x^2+4x+1
A=compan(p)    %求伴随矩阵
x1=eig(A)      %求特征值   就是根   有3个根
x2=roots(p)     %另一种方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值