Tag: matlab

如何使用Excel文件中的文本数据列作为x轴?

我在Matlab中导入了一个Excel文件,其中包含两列,一列是数字值,另一列是文本值。 前5行可以看到下面: ABF-E 0.34 HJK-D -0.54 GHKL-I 1.34 FPLO-5 2.3 KKJLL-T 0.98 我需要绘制Y轴上的数字列和X轴上的文本列。 我可以使用xlsread和plot轻松处理数字列,但是我无法pipe理绘制文本列。 我怎么能这样做? 我写了下面的代码,但我不知道该怎么做的x轴: filename = 'MyData.xlsx'; Sheet = 2 xlRange = 'B1:B60'; Yaxis = xlsread (filename,Sheet,xlRange); Xaxis = ????????; plot(xAxis,Yaxis) 如果有人能帮助我,我将不胜感激。

图片输出excel图(通过自动化)

我正在试图获得一个Excelgraphics的句柄,并通过MATLAB保存。 到目前为止,我已经设法循环表单,并获得graphics对象的句柄,但我不能保存它。 有谁知道如何导出对象为jpg或png或其他graphics格式? 我使用SaveAs方法尝试下面的代码,但它不起作用 Workbook = Workbooks.Open(['file.name]); Sheets = Workbook.Sheets; for i = 1:Sheets.Count Activesheet = get(Sheets, 'Item',i); for j = 1:Activesheet.ChartObjects.Count obj = Activesheet.ChartObjects(j); obj.SaveAs('asfasfa.jpg') end end

从Excel选项卡自动创build和命名Matlab中的表

我有以下单元格数组,这是一个(但不是全部)在Excel文件中的选项卡名称的列表: selectedTabs = 'Screen' 'SectorAbsolute' 'SectorRelative' 如何根据列表中的内容读取Excel表格的每个选项卡并返回标签内容的表格? 新表应该与读取的标签具有相同的名称。 我尝试过(例如,创build一个名为“SectorAbsolute”的表,其中包含“SectorAbsolute”选项卡的内容): char(chosenTabs(2))=readtable(inputFile,'Sheet',char(chosenTabs(2))) 但是这会返回错误: 只能使用一个下标来标记表格。 表下标需要行和variables下标。

通过Matlab打开MS Excel

有没有办法如何使Matlab直接在MS Excel中打开Excel文件? 我不是说只是读取数据,而是实际打开MS Excel。 我有一个处理一些数据并保存到.xlsm的脚本。 这个.xlsm包含auto_openmacros,它会生成一个报告并将其保存到另一个.xls中。 我希望过程尽可能自动化。 到目前为止,当matlab脚本结束时,需要手动打开.xlsm文件。 是否有可能通过Matlab来做到这一点? (.m文件和.xlsm位于相同的文件夹中。)

如何使用matlab清除excel中现有的graphics?

我有一个通过主动服务器连接到matlab的excel。 我正在通过matlab生成graphics,并将其导出为ex​​cel。 但是,我需要先清除现有的graphics,以免重写和堆叠graphics。 我的想法是先find现有的graphics,并将其清除。 但到目前为止,我还是不知道该怎么做。 有谁知道? 我接受任何build议。 非常感谢! 伊丽莎白 编辑: 这是一个matlab脚本 Excel = actxserver ('Excel.Application'); filename = 'xxx' invoke(Excel.Workbooks,'Open',filename); Sheets = Excel.ActiveWorkBook.Sheets; Sheets.Item('Graphs').Activate; ActiveSheets = Excel.Activesheet; plotpie(cost,init_stage) Shapes = ActiveSheets.Shapes; ActiveSheets.Shapes.AddPicture('location', 0, 1, 400, 325, 345, 230)

要求用户使用MATLAB从EXCEL中select所需的数据范围

为了从Excel中的数据绘制在同一个Excel文件使用Matlab,是否有可能要求用户select所需的范围,而不是在Matlab代码中定义的范围?

Matlab xlsread打开文件并清理

我在一个1.4 MB的excel文件上使用xlsread。 几次运行我的m代码后,我开始注意到一些奇怪的行为。 我不能用双击打开excel文件(只能用matlab) 2个大文件(30Mb)EXCEL.EXE * 32个文件在每个m代码运行前打开(我调用该函数2次) 我像matlab一样下跌,没有清理它的文件句柄。 我使用angular落转angular读取更新代码读取数据使用以下两行 prs = xlsread(file, 'data2','A2:C550'); elm = xlsread(file, 'element','A2:C65536'); 调用这两个函数后,任务pipe理器显示两个大的EXCEL.EXE * 32文件。 我试过 clear clear all close all fclose('all') fclose(0); fclose(1); fclose(2) 等我closuresmatlab,他们仍然是开放的。 尝试重新启动后没有更多的窥探。 xlsread使用excel来填充看起来像excel的服务器 Excel = actxserver('excel.application'); 清理看起来应该是在这里发生的 cleanUp = onCleanup(@()xlsCleanup(Excel, file)); [numericData, textData, rawData, customOutput] = xlsreadCOM(file, sheet, range, Excel, customFun); 其次是一个 clear cleanUp; 稍后在程序中。 […]

如何从散点图点到水平轴线

在Excel中,为了在一个折线图中放置线条,您只需点击线条输出,然后拖放线条,但是如果您的graphics是散点图,那么您将单击错误条,设置为减号,无上限和100%你将有几乎相同的输出。 但我不知道如果Matlab可以做到这一点,请帮助 这是我的x,y数据: x=28,35,44,57,68,70,85 y= 5,6,14,10,17,7,8,5 我不知道,如果你的数据是散布数据,如果matlab可以下降行,请帮助我感谢:)

为什么一个完整的Matlab数组(X)在'if X'中返回false?

我有一些Matlab代码,检查数组是否在操作之前是非零的,即使数组是3的1000+,也会被跳过。 代码只是:如果X 该数组是使用'xlsread'从Excel文件中读取的,只给出特定数据文件的错误,但是适用于我使用的任何其他input数据文件。 任何想法,为什么这是?

在MATLAB 7.0.1(R14SP1)中使用XLSREAD读取大型Microsoft Excel文件时出错

我有一个Excel文件。 当我尝试使用以下命令访问单个工作表时: x=xlsread('CS_7_1800_rerun.xls',1); 我收到以下错误: Warning: See help sprintf for valid escape sequences. > In iofun\private\validpath at 59 > In xlsread at 187 ??? XLSREAD unable to open file CS_7_1800_rerun.xls. Error using ==> iofun\private\validpath 我使用MATLAB 7.0.0.1