要将MATLAB uitable中的数据保存很简单
1、使用get获取数据并存到指定的变量中
data=get(handles.uitable1,'data');
2、选择你要保存的文件夹目录和文件名字使
用uiputfile,运行时会弹出一个选择框让你选择保存地址和文件名,目录会存到变量
path中 文件名保存到变量filename
[filename,path]=uiputfile({'*.xlsx'},'选择文件')%。
xlsx指保存为Excel格式,可更改成其他格式
3、将你获取的文件名和路径合成
在确定保存地址和文件名后,应为他们分别存在两个变量中,所有要合成。使用fullfile函数将地址和路径整合到一起,变量name储存完整路径名字
name=fullfile(path,filename);%生成文件路径和名称
4、使用函数保存变量。如果是保存为Excel使用xlswrite函数
xlswrite(name,data); %将数据data存到name中
最近在使用matlab的uitable控件,发现了一些问题,特此记录
1、matlab的uitable控件是分版本的,我当前使用的7.11.0(matlab R2010b)和之前版本的uitable控件是不一样的,之前的版本中调用方法为(在当前使用的版版本使用如下命令也会得到以前版本的uitable)
uitable(C,R)
其中C为行,R为列。使用get方法取出数据后类型为java.lang.Object[][]的,转换相当不方面,并且还有一个[][]的,转换相当不方面,并且还有一个头疼的问题是如果你鼠标的焦点没有离开最后一个输入数据的话,get到里面的数据内容是为空的。
2、调用当前版本的uitable控件的格式要求是下面这样的
uitable('PropertyName1', value1,'PropertyName2',value2,...)
查看帮助文档PropertyName后,发现竟然没有设置行列的属性,只有data属性,为了能够生成特定的行列以待用户输入,我不得不适用了上面的调用方法,然后就是各种悲剧。。。就是没有想到可以建一个空的特定行列的胞数组,直接设置成data属性的value,它就会自己生成需要的行列,脑子短路没办法。
3、两种版本的控件的PropertyNmae很多都是不相同的,所以会一直报错,希望看到的其它人不要犯这个错误。
4、当然,这是用命令行生成控件,GUIDE直接画也是可以的,听说以前的uitable控件生成后是不能再更改行列,也不能移动位置的,(具体没有试过),但是现在版本是随时都可以的,生成后都可以更改大小和移动位置,所以先画好,设置好各种属性颜色呀、列宽呀、数据格式呀什么的,再在界面的按钮控件下更改其部分属性就方便多了,总比写一大堆属性控制代码来的方便。
你好:
要想学好,使用好matlab,多多查看帮助是非常有必要的,毕竟每个人都不会把所有命令都记得很清楚。uitable最为交互界面的一个数据读取的一个简单命令是有其局限性的。
首先使用get命令 get(handles.uitable,'data') 获得数据
然后保存这个数据 当然保存的命令可以选用save也可以选用xlswrite等命令
也可以用uisave命令自己选择 保存 这些命令的使用想必你通过查找帮助就能够完成
如果请选为满意答案 谢谢
方法如下:
假设table有5行4列的数据,想取得其3行2列的数据,方法如下:
data = get(tablehandle,'Data');
yourdata=data{3,2};