利用Matlab 解决二维矩阵问题

写在前面

Matlab是一款非常强大的数学计算工具,学习并使用它进行处理一些数据运算,将会非常之高效。

今天有同学问我了一道关于利用Matlab 解决二维矩阵问题,利用空闲时间给他解答,希望能帮助到他。

问题

1,问题描述
  1. 创建一个矩阵a,其内容为50行50列随机矩阵;
  2. 用循环语句求矩阵内元素的最大值;
  3. 用循环语句求矩阵内元素的最小值;
  4. 用循环语句求矩阵内元素的所有元素和;
  5. 用循环语句将对角线元素显示出来;
2,问题分析

Matlab中有很多函数库,它们可以帮助我们解决很多函数问题,因此在解决问题时,调用它们,会大大简便我们的操作。

针对这个问题,我第一个想法就是利用Matlab自带的函数去求解,得到对应答案。

如果同学还需要自己建函数来表示,只需要对原库函数进行分析即可。

3,解决问题
  1. 创建一个矩阵a,其内容为50行50列随机矩阵;

rand(m)是生成m*m,0到1之间的随机数,但由于是生成的为小数,所以我将范围扩大100倍,此时就出现了下面代码:

     A=round(100*rand(50))

结果部分展示:

mark

因为生成50*50的矩阵,截图页面展示不下,只显示部分截图。

2.求矩阵内元素的最大值,最小值,求和;

可以利用max()来解决,max(A),代表A中每列的最大值,max(max(A))就可以代表,整个矩阵的最大值。

代码如下:

max(max(A))

结果展示:

mark

同理最小值代码

minmin(A))

结果展示

mark

给矩阵求和亦是如此

Sum=sumsum(A))

结果显示

mark

3.求矩阵内元素的平均值;

a=mean(A,1) %按列平均
b=mean(A,2) %按行平均
c=mean(A(:)) %全部平均

结果显示:

mark

4.将对角线元素显示出来

在matlab中也有一个函数专门解决对角线元素的输出。

D = diag( A )

再将结果转置
B=D’

结果如下

mark

至此上面的问题全部解决。

至于,通过循环来些函数实现,因为时间的问题,我不能一一列出,但是你可以通过输入help f(x) 来具体查询函数的功能和定义,然后逆推写出程序。

方法如下:

mark

因为同学需要帮助,我花半中午时间来梳理,写作,希望能够帮助到你。

如果能帮助到CSDN上的同学,更是荣幸。

作者:新海

写于12.1日

分享也是一种成长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值