Tag: matlab

导出可用数据以使用matlab for excel来实现excel

我卡住试图导出的matlab可用数据为Excel。 我尝试了很多东西,解决这个问题是不可能的。 多天后,我使用windows试用下面的代码,它确实工作,但是,使用相同的Macintosh不再工作。 输出如下: “错误使用dlmwrite(第118行)input单元格数组不能转换为matrix” 寻找更多的信息,我在这里find了一个答案,( 使用“xlswrite”MATLAB单元格数组包含不同大小的string ),这并不完美。 最后我发现这个方法只适用于使用windows的matlab( http://www.mathworks.es/matlabcentral/answers/20819-export-uitable-s-data-to-a-spreadsheet-excel )。 我希望你能帮助我解决这个问题。 提前致谢 赫克托 function Save_File hf = figure; hExportButton = uicontrol('Parent',hf,'Units',… 'normalized','Position',[0 0.81 0.22 0.18],'Style','Pushbutton',…. 'String',' Export Data!','FontSize',20,'Callback',@ExportButton_Callback); dat = rand(5,5); t=uitable('Data',dat,'ColumnName',{'First','Second','Third','Fourth','Fifth'},… 'Position',[7 10 500 300]); Data=get(t,'Data'); ColumnName=get(t,'ColumnName'); set(t,'ColumnWidth',{93.5}) function ExportButton_Callback(~,~) NewData= num2cell(Data,ones(size(Data,1),1),ones(size(Data,2),1)); CombData=[ColumnName';NewData]; FileName = uiputfile('*.xls','Save as'); xlswrite(FileName,CombData); end end

使用xlswrite将字符matrix写入Excel

有人可以帮助写一个字符matrix到Excel吗? 以下是一个<17×6字符> A = SPK01a SPK03a SPK03b SPK05a SPK07a SPK07b SPK07c SPK09a SPK11a SPK15a SPK17a SPK19a SPK21a SPK23a SPK25a SPK27a SPK29a 我试图做xlswrite(filename, {A})但收到错误: Error using xlswrite (line 220) ActiveX – Element of a cell array cannot be a character matrix. 我需要string在单元格中,所以在这种情况下,在Excel的第一列中,在17个单独的单元格中。

Matlab Actxserver:我怎样才能终止由matlab中的actxserver打开的进程

我想在MATLAB中打开和closures一个Excel文件。 我已经尝试了下面的代码 ,但它closures与actxserver进程失败 h.WorkBooks.Item(wbkname).Close; 这里是我的代码这个问题,我怎样才能终止的Excel文件? .Quit .delete 我也尝试通过VBA子模块来closuresexcel文件,但它给了我一个错误信息: fullFileName = [pwd '\KOSPI200_1월.xlsm']; excel = actxserver('Excel.Application'); file = excel.Workbooks.Open(fullFileName); excel.Run('jongho_bot_initial'); excel.Run('jongho_bot_loop',2);

现有电子表格模型的Matlab源代码

我正在做一个mat实验室的项目,我正在处理大量的数据。 我需要从电子表格中创build一个现有模型的源代码,其中计算已经在电子表格中逐行进行。我有问题写电子表格的最后5列的代码,其中第一列的第二行的结果使用第五列第一行的结果等等。 有关信息, dh / dx是第一列 GWFLOW是第二列 GWDROP是第三列 NETGWCHANGE是第四列 REVGW是第五列 清晰视图的Excel文件的屏幕截图 这是我做的代码: %% dh/dx dh_dx=zeros(numel(rocky.RAIN),1); % for the first row dh_dx(1)=(ingwl-effecbase)/meandx; %for the remaining dh/dx for s=2:numel(HER); dh_dx(s)=(REVGW(s-1)-effecbase)/meandx; end %% GW flow for unit width GWFLOW=zeros(numel(rocky.RAIN),1); for t=1:numel(HER); GWFLOW(t)=K*dh_dx(t)*aqb; end %% Drop of GW due to GW flow GWDROP=zeros(numel(rocky.RAIN),1); for u=1:numel(HER); GWDROP(u)=(GWFLOW(u)/(aqb*por)); end %% Net […]

如何使excel表格中的值成为matlab中的matrix元素

我有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 […]

提高从excel读取数据到matlab的速度

我有(当时)Excel中的五个颜色,我需要读取和存储到Matlabvariables。 我目前使用下面的代码: TE=xlsread('../input/input.xlsx','A:A'); AF=xlsread('../input/input.xlsx','B:B'); TAHE=xlsread('../input/input.xlsx','C:C'); HD=xlsread('../input/input.xlsx','D:D'); TCW=xlsread('../input/input.xlsx','E:E'); 当input.xlsx包含14行时,这需要11秒。 当使用8760行(这将是我最终的inputxlsx中的行数)时,所消耗的时间大致相同。 瓶颈似乎是打开Excel文件。 我对吗? 我怎样才能最小化时间消耗? 对我来说,似乎Matlab打开Excel文件五次,当只有一个似乎是必要的。 我如何改进我的代码? 编辑:通过使用下面的代码,时间消耗减less了约2秒(仍然相当慢): temp=xlsread('../input/input.xlsx','A:E'); TE=temp(:,1); AF=temp(:,2); TAHE=temp(:,3); HD=temp(:,4); TCW=temp(:,5);

每次使用button如何在MATLAB中将数据添加到现有的XLSX文件?

我有一个函数产生一些variables,如分数,对,错,未答复。 这个function是使用button调用的。 问题是我怎么能每次添加/附加函数生成的这些值到一个XLSX文件? 或者,如何创build一个MAT文件,以便可以添加? 什么是可能的解决scheme?

将Matlab绘图复制到Excel

我使用剪贴板复制和粘贴我的Matlab绘图通过actxserver优秀。 但是,我的身材的尺寸不复制到Excel。 如何更改为图的尺寸? 这是我的代码… fig = figure('Position',[100 100 200 300]); print(fig,'-dmeta') Excel = actxserver('Excel.Application'); ExcelWorkbook=invoke(Excel.Workbooks,'Open','C:\…'); Sheets = Excel.ActiveWorkBook.Sheets.Item(1); Sheets.Range('A1').PasteSpecial; ExcelWorkbook.Save; Excel.Quit;

在Matlab中将空格分隔的数字导入/转换为数组列表

我是Matlab的新手,我想将空格分隔的数字(源是一个Excel文件)的列转换为数组列表。 在第一步中,我想创build一个这样的数组列表: 然后我想转置这样的列表: 什么是这个转换正确的命令? 我知道这是一个简单的问题,但我找不到类似的问题。

MATLAB转换:CELL到DOUBLE; 但数字改变

我正在阅读一个excel文件。 在其中一列(只包含很长的数字)中,MATLAB将其导入为CELL(因为有一个标题)。 这是导入的示例: '980000684210053338' 这些是我的尝试: 转换为DOUBLE,但数字更改 tableM.v1 = cellfun(@str2num,tableM.v1); 转换为DOUBLE,但数字更改 tableM.v1 = cellfun(@str2double,tableM.v1); 转换为CHAR,但数字是正确的 tableM.v1 = cell2mat(tableM.v1); 如何将这个CELL转换为DOUBLE,同时保持正确的值? 谢谢 PS我正在使用MATLAB R2016a。 更新: 我从答案中运行这个代码: tableM.v1 = vpa(tableM.v1); % assuming tableM.v1 is a cellstr 而我收到这个错误: 警告:支持非有效variables名称的string或定义号码将在未来版本中删除。 要创build符号expression式,首先创build符号variables,然后使用它们的操作。 在sym> convertExpression(1536行) 在sym> convertChar(1441行) 在sym> tomupad(1198行) 在sym(第177行) 在cell2sym(第28行) 在sym> tomupad(1208行) 在sym(第177行) 在vpa(第44行) 错误使用symengine 新数组必须具有与原始数组相同数量的元素。 sym /重塑(第50行) ySym = mupadmex('symobj :: […]