如何使excel sheet中的值成为matlab中矩阵的元素
How to make value in excel sheet become element of matrix in matlab
我有 xls 文件名databus.xls
,像这样
No. Bus Code Voltage Mag. Fasa Beban Generator Stat Mvar
MW Mvar MW Mvar Qmin Qmax +Qc/-Ql'
1 1 1.04 0 50 30.99 0 0 0 0 0
2 0 1 0 170 105.35 0 0 0 0 0
3 0 1 0 200 123.94 0 0 0 0 20
4 2 1.02 0 80 49.58 318 0 0 0 0
如何让值成为矩阵a的分量
喜欢
a=[1 1 1.04 0 50 30.99 ...etc
2 0 1 0 170 105.35 ...etc
...etc ]
如果这是一次性操作,copy-paste 是最简单的方法。如果没有,我建议 xlsread
尝试:
filename = 'databus.xls';
sheet = 1;
xlRange = 'A3:J7';
a = xlsread(filename, sheet, xlRange)
如果只有一个sheet,你可以跳过第二个参数,只做:
filename = 'databus.xls';
a = xlsread(filename,'A3:J7')
如果您不知道范围,只需按照上面 link 中给出的文档:
num = xlsread(filename) reads data from the first worksheet in the
Microsoft® Excel® spreadsheet file named filename and returns the
numeric data in array num.
因此,举个例子:
num = xlsread('test.xlsx')
num =
1.0000 1.0000 1.0000 50.0000 30.0000
2.0000 1.0000 1.0000 112.0000 60.0000
3.0000 2.0000 4.0000 40.0000 20.0000
4.0000 2.0000 3.0000 30.0000 20.0000
5.0000 3.0000 2.0000 60.0000 42.5000
因为这会读取所有数字数据,如果只有少数列包含数字,您可能会得到一些主要包含 NAN 的行。如果是这样,您只需删除这些行即可。
您必须将任务分成两部分:
- 从 Excel.
中导出您的数据
- 将数据导入 Matlab。
对于任务 2,有几个选项(提供官方文档链接):
另见 Ways to Import Text Files and How do you create a matrix from a text file in MATLAB?。
如果您对任务 2 使用方法 1,则必须从 Excel.
导出为 csv
- 将您的工作表复制到新工作表中。
- 删除不进入矩阵的数据(根据您的问题,前两行)。
- 另存为 CSV。
瞧
我有 xls 文件名databus.xls
,像这样
No. Bus Code Voltage Mag. Fasa Beban Generator Stat Mvar
MW Mvar MW Mvar Qmin Qmax +Qc/-Ql'
1 1 1.04 0 50 30.99 0 0 0 0 0
2 0 1 0 170 105.35 0 0 0 0 0
3 0 1 0 200 123.94 0 0 0 0 20
4 2 1.02 0 80 49.58 318 0 0 0 0
如何让值成为矩阵a的分量
喜欢
a=[1 1 1.04 0 50 30.99 ...etc
2 0 1 0 170 105.35 ...etc
...etc ]
如果这是一次性操作,copy-paste 是最简单的方法。如果没有,我建议 xlsread
尝试:
filename = 'databus.xls';
sheet = 1;
xlRange = 'A3:J7';
a = xlsread(filename, sheet, xlRange)
如果只有一个sheet,你可以跳过第二个参数,只做:
filename = 'databus.xls';
a = xlsread(filename,'A3:J7')
如果您不知道范围,只需按照上面 link 中给出的文档:
num = xlsread(filename) reads data from the first worksheet in the Microsoft® Excel® spreadsheet file named filename and returns the numeric data in array num.
因此,举个例子:
num = xlsread('test.xlsx')
num =
1.0000 1.0000 1.0000 50.0000 30.0000
2.0000 1.0000 1.0000 112.0000 60.0000
3.0000 2.0000 4.0000 40.0000 20.0000
4.0000 2.0000 3.0000 30.0000 20.0000
5.0000 3.0000 2.0000 60.0000 42.5000
因为这会读取所有数字数据,如果只有少数列包含数字,您可能会得到一些主要包含 NAN 的行。如果是这样,您只需删除这些行即可。
您必须将任务分成两部分:
- 从 Excel. 中导出您的数据
- 将数据导入 Matlab。
对于任务 2,有几个选项(提供官方文档链接):
另见 Ways to Import Text Files and How do you create a matrix from a text file in MATLAB?。
如果您对任务 2 使用方法 1,则必须从 Excel.
导出为 csv- 将您的工作表复制到新工作表中。
- 删除不进入矩阵的数据(根据您的问题,前两行)。
- 另存为 CSV。
瞧