matlab 判断两个矩阵有元素相等_如何使用MATLAB对Excel中的多参数进行计算?

本文介绍了如何使用MATLAB读取Excel数据,并进行计算处理。主要内容包括矩阵基础、Excel数据读取、矩阵元素寻访、计算结果存储以及结果写回Excel。通过实例展示了MATLAB在处理Excel多参数计算时的操作步骤。
摘要由CSDN通过智能技术生成

6c509c857db30e3e38cd2d2b132e9dbf.png
THE START

MATLAB和Excel这两者之间有着什么样的关系呢?今天我把之前学习以及用到的关于用MATLAB读写Excel数据,并进行计算处理的经验分享给需要的小伙伴。参加过数学建模的这个应该就很简单了,不经常使用的来说可能有点麻烦。

小编这几天学习使用MATLAB也走了一些弯路(matlab小白

),从会C语言的室友那里找到了解决办法,所以这些编程思路基本都是相通的。

MATLAB是matrix&laboratory两个词的组合,意思为矩阵实验室,所以一定要了解到矩阵在MATLAB中的重要性。一些数据的处理以及计算都是在此基础之上进行的,使用MATLAB对Excel数据进行处理也是用矩阵来处理,所以首先要了解MATLAB关于矩阵的基础。主要会用到读取Excel数据、寻访矩阵元素、计算结果创建矩阵、MATLAB绘图、结果写入Excel。

1.创建矩阵

1.矩阵元素在[ ]内。

2.矩阵列元素之间用空格或者逗号分开。

3.矩阵的行与行之间用分号;隔开。

如下:

A=[1 2 3 ;4 5 6]

运行结果

97b149f64d97fb7bfe8aa16972fdf56d.png
B=[1,2,4;6,8,9]

da43e85fff18742a475accea6d35aeef.png
2.矩阵寻访

寻访矩阵一般有三种方法,下标寻访、单元素寻访和多元素寻访。

下标寻访又有单下标寻访和双下标寻访,单下标寻访双下标寻访意思一样只是表示方法不同。

双下标分别表示行与列,对应矩阵的元素第几行第几列。无论单下标寻访还是双下标寻访都是单元素,本次小编用到的也是单元素寻访。

1.双下标寻访命令用(,)表示:小括号前边写明矩阵名称,逗号前边表示行,后边表示列。如

A=[123 ;456]
C=A(1,1)

运行结果

cf917c803ee19292ee5d9d4d95e6d936.png
多元素寻访
多元素寻访从字面意思理解就是寻访某个矩阵的多个元素,访问整行、整列或者全部。命令需要注意冒号和逗号的使用,要在英文输入状态下。
使用命令如下
1.A(1:2:10)表示取数组或者矩阵的A的第一个元素到第十个元素,步长为2。
2.A([1 2 3])表示取数组或矩阵A中的第1、2、3个元素。
3.A(:,L)表示取矩阵A的第L列全部元素。
4.A(L,:)表示取矩阵A的第L行的全部元素。
5.A(i:i+k,:)表示取矩阵A的第i-i+k行的全部元素。
6.A(:,i:i+k)表示 取矩阵A的第i列到底第i+k列的全部元素。
7.A(i:i+k,k:k+l)表示取矩阵A的第i-i+k行内,并在第k-k+l列中的所有元素。
3.读取Excel

Excel数据可以命令读取也可以直接导入,命令读取也很简单,在MATLAB右上角搜索框输入 help Excel 即可获得命令帮助。

4445a27c393d98eb1cc3dcf6dc62be17.png
读取命令

今天小编主要用到以下三个命令,其他命令可以在help文档中学习使用,help 文档是一个很好的东西,遇到问题可以在上边进行搜索,还有案例教学。括号内为Excel信息,filename(文件名),sheet(表格位置),xlRange(读取范围)。

num = xlsread(filename)
num = xlsread(filename,sheet)
num = xlsread(filename,sheet,xlRange)
Excel数据

查看Excel数据,确定数据读取范围。我的数据较多,从A1-E603。

f5609c11ddca07970f3848ad460d36a2.png
读取命令
A=xlsread('D:MATLAB和Excel计算yuzhuyi.xls','sheet1','A1:E603');

9b227a524e8fec14be9e16597f044905.png

小编的参数是5列,603行,所以要将5列中的每行同时带入MATLAB中进行计算,并输出一个结果,一共是603个结果。

下边开始逐个读取Excel中的数据进行计算,也就是矩阵的单个元素寻访。循环读取以及矩阵元素寻访使用如下,一共是5列数据。
 for j=1:603
     lam=A(j,1);
    H=A(j,4);
     L=A(j,2);
     k1=A(j,5);
     k2=A(j,3);
%加入自己的计算公式,输出结果
  zeros(j,1)=R;%将每次循环计算的结果放到矩阵中
end
5.增加变量

在上一步的基础上增加变量,依然将变量都放在Excel中进行读取计算,放在F行,变量是5-50间隔为0.1。(如果是等差数列可以直接使用for循环,无需在Excel中读取,小编主要演示MATLAB处理Excel)

变量读取命令为

B=xlsread('D:MATLAB和Excel计算yuzhuyi.xls','sheet1','F2:F451');

462508ec3563856510e3a2bd4f4151a7.png

小编将这一列数据作为两个变量使用,即d1、d2命令如下

for m=1:450
    d1=B(m,1);
    d2=B(m,1);
%写入自己的计算公式
end
6.最终计算
将两个循环计算放在一块

for j=1:603
     lam=A(j,1);
    H=A(j,4);
     L=A(j,2);
     k1=A(j,5);
     k2=A(j,3);
for m=1:450
    d1=B(m,1);
    d2=B(m,1);
%写入自己的计算公式
%加入自己的计算公式,输出结果
  zeros(j,m)=R;%将每次循环计算的结果放到矩阵中
end
end

小编需要将全部的计算结果输出,也就是450列、604行。zeros(j,m)=R这个命令就是将全部结果放入矩阵,结果如下

4a21932e60c75821c674ff9bdb1c8d6f.png
7.绘图

选中某列的计算结果,点击绘图-选择样式。如果Excel中的绘图无法满足要求可以使用此方法进行绘图,还可以进行拟合等操作。

9e8671d990f6302023a8bc5921fcf7d8.png

小编随便选择的样式

4c624007e4bffca7e5aee373b35c63f0.png
8.导出结果

将计算的结果写入到Excel中去,方便后续的计算保存。命令格式和读取数据时是一样的。使用命令

xlswrite('yuzhu.xlsx',zeros);

注意数据太多的话需要使用xlsx格式。数据太多,计算以及结果导出时间有点久。

运行结束后MATLAB会在软件内自动打开数据表格。

67a3e93750eed1232f7f7b2ed9549439.png

使用Excel打开数据

8b6473a9f56c8ee11cae5c72de3cf12b.png
总结

至此MATLAB导入Excel数据进行计算就算完成了,小编这个只是简单的计算,实际的肯定比这个要复杂,命令也多,但是只要明白基本原理操作起来就很简单了。水平有限难免有错误,还请批评指出。

994b2d1136f89bfabdb1d867e8dc72cf.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值