Tag: matlab

从MATLAB中检查Microsoft Excel的打开状态

我用这个代码从MATLAB打开一个文件: winopen('myFile.xlsx') 我希望MATLAB在用户在Microsoft Excel中closures此文件后删除此文件。 我该怎么办?

将Excel信息导入Matlab后对variables进行sorting

你好,我正在学习如何使用Matlab的第一次,我被困在一个任务。 它的一个两部分任务,第一个是写一个Matlab脚本,并输出一个Excel文件,我已经完成了。 M = {'City' 'Population'; 'Chandler' 249146; 'Gilbert' 229972; 'Glendale' 234632; 'Mesa' 457587; 'Peoria' 162592; 'Phoenix' 1513367; 'Scottsdale' 226918; 'Surprise' 123546; 'Tempe' 168228; 'Tucson' 526116}; M = xlswrite('largest_cities_in_arizona.xls',M) 第二部分是创build一个读取Excel文件的Matlab脚本,创build两个名为city_population和city_name的variables,然后根据总体以降序对两个variables进行sorting。 我大部分都明白了。 [A, B] = xlsread('largest_cities_in_arizona.xls', 1, 'A2:B11'); city_population = sort(A, 'descend'); city_name = sort(B); 我遇到的问题是试图通过city_population对city_name进行sorting。 在导入数据时,Matlab会将city_name作为10×1单元格和city_population作为matrix,如果我尝试根据city_population对B进行sorting,则会给出尺寸错误。 有没有其他的方法来做到这一点? 任何帮助或信息将不胜感激。

什么是Excel的NORMSDIST函数的MATLAB等价物?

什么是Excel的NORMSDIST函数的MATLAB等价物?

使用线性插值而不使用interp1的matlab代码

我有一个Excel电子表格第一列是给定的高度,其他三列是依赖于高度的Kz值(高压暴露系数)。 我需要编写一个代码,当给定一个特定的高度时,可以使用线性插值来计算Kz并在命令窗口中显示结果。 。 如果用户指定的高度大于500英尺并终止,则还应显示错误消息。 提示用户指定曝光types提示用户指定高于地面的高度根据指定的高度和指定的曝光types确定正确的下限和上限 我使用xlsread导入了电子表格,但是我不能使用interp1函数。 第一栏的第二栏的范围从.7000到1.56,第三栏的范围从.85到1.77,第四栏的范围从1.03到第二栏的范围是[15:5:30,30:10:100,100:20:200,200:50:500] 1.89 data=xlsread('PressureCoef.xslx'); Array=size(data); Height=0; Exposure_B=0; Exposure_C=0 Exposure_D=0 Height(: 1) Height=input('enter the height/n'); For Exposure=input('enter exposure type /n'); kz(:,2:4); kz=y1+((x-x1)(y2-y1)/(x2-x1) disp(kz) if Kz<1.56 && >.70 disp('Exposure B') elseif Kz<1.77 && > .980 disp('Exposure C') elseif Kz<1.89 && >1.16 disp('Exposure D') end end

加载大的Excel(xlsx)文件到matlab中

我使用Windows 64位与8GB内存和Matlab 64位。 我试图加载一个.xlsx文件到matlab中。 文件大小约700MB,包含673928行和43列的表。 首先我使用GUI工具“uiimport”。 select文件path和名称后,GUI工具需要大约3分钟时间才能读取.xlsx文件,然后在表中显示数据。 如果select“单元arrays”,则需要大约10分钟才能将数据导入到工作区。 >>whos Name Size Bytes Class Attributes NBPPdataV3YOS1 673928×43 3473588728 cell 它工作得很好,但我有很多.xlsx文件来导入。 使用GUI工具导入每个文件是不可能的。 所以我使用GUI工具来生成这样的function function data = importfile(workbookFile, sheetName, range) %% Import the data [~, ~, data] = xlsread(workbookFile, sheetName, range); data(cellfun(@(x) ~isempty(x) && isnumeric(x) && isnan(x),data)) = {''}; 简而言之,我忽略了一些不相关的代码。 但是,当我用这个函数导入数据时,效果不好。 Matlab和Excel使用的RAM大大增加,直到几乎所有的RAM都被使用。 即使30分钟后也无法导入数据。 我也尝试这样做, filename='E:\data.xlsx'; excelObj = actxserver('Excel.Application'); […]

如何使用Matlab在excel中编写多个数组

我有值的列表保存在像variables。 A= 1,2,3,4,5,6,7和B = 4,5,6,73,2,3,2 //这可能是数组或列。 容易的人会被优先考虑 注 A和B值将是dynamic的,这将通过某些function获得。 我想在Excel工作表中保存A和B的值,如第一列中的A值和第二列中的B值。 我读了关于xlswrite但没有find任何xlswrite ,因为我需要。 当他们被保存时,又想读取它们,并将它们保存在其他一些variables中,如C和D 我想在C中保存第一列数据,在D中保存第二列数据 我读了关于C = xlsread('filename')但问题是。 这将所有的值保存在一个variables中。 如果Excell有两列。 这两个将被保存在一个variablesC.但我的要求是在一个varibale一柱等等。

在Excel或Matlab上增加string格式的地址?

我想从这里去: 对此: 在Excel或MATLAB上。 这个操作必须通过整个电子表格来处理,这就是为什么我怀疑excel是否有效的方法。 请记住字段“地址号码”是一个stringvariables。 我已经将电子表格上传为一个Matlab Cell数组,并且正在考虑一次提取一个值,前后连字符,转换为double并让脚本增量并填充一个新数组,但是这是相当遥远的,我不确定这是相关的命令。 谢谢

使用“IncludeDocProperties”字段将Excel转换为.pdf

我在MATLAB中使用以下代码将Excel工作表转换为PDF,但是我正在获取PDF顶部的Excel文件的info (name) 。 我怎样才能摆脱它? 我知道有一个可选字段IncludeDocProperties ,但我不知道如何使用它? hExcel = actxserver('Excel.Application'); hWorkbook = hExcel.Workbooks.Open(sprintf('%s',excel_filepath)); hWorksheet = hWorkbook.Sheets.Item(1); hWorksheet.ExportAsFixedFormat('xlTypePDF',pdf_filepath); hWorkbook.Close; hExcel.Quit; hExcel.delete;

如何从matlab中的csv中读取混合string和数字数据并进行处理

我正在为MATLAB编写一个脚本,它将从一个csv文件导入数据,该文件的第一行包含string标题,并且每个列中的数据都是string,date或数字。 然后我想根据特定string和数字组合的实例来过滤MATLAB中的数据。 任何帮助感激! 干杯!

MATLAB将存储在double数组和单元格数组中的数据导出为CSV文件

我有一个19个字段的MATLAB结构。 主场是一个1×108033双数值的所有值。 它看起来像这样,基本上108033数字: pnum: 5384940 5437561 5570271 5661637 5771155 … 我还有一个叫inventors领域是1×108033单元格值。 每个单元格包含不同数量的string。 例如列1到5 inventors: {2×1 cell} {4×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} 对于第一列值,2 x 1单元由以下值5012491-01和2035147-03等组成。 我想共同导出这两个CSV文件。 理想的结果将重复pnum的数字,以便在pnum和inventors之间build立明确的联系。 因此,理想的结果看起来像这样(与inventors单元格内容一起显示)。 pnum inventors 5384940 5012491-01 5384940 2035147-03 5437561 5437561-01 5437561 5437561-02 5437561 5437561-03 5437561 5012491-02 5570271 5437561-03 5661637 1885634-08 5771155 5012491-01 我之前问过这个问题的一个更复杂的版本,但是问题不清楚。 希望是现在。