matlab信号采样后的数据保如何存为可用的.mat格式的问题, 以及用plot作图让横轴显示时间而非序列的问题

向各位高手请教一个问题,我用simulink搭了一个模型仿真,输出端(我要考察的信号)接了一个示波器,并设置成将数据保存到工作空间,选择的是数组格式保存的,命名为y,可是为什么为此去工作空间查看,他都是二维的数组(就是现实的是<2561x2 double>)?我想要的知识一维的啊,为什么多了一维标示采样点序列的数据?另外,我要用plot 画图,结果横轴也是采样序列,我想让横轴显示是时间,有哪些方法呢?
正好我要把信号的采样值存成.mat形式的,然后要用小波工具箱分析,结果我就只能每次双击工作空间的这个y变量,然后双击进去,复制第二列的数据,然后新建一个变量z,把刚才复制到的一维数据粘贴进去,然后右击鼠标将z另存为.mat的文件才可以被用于小波工具箱来做小波分析,可是这样我觉得太麻烦了,有没有什么简便一点的方法?
我也这样做过:直接在我要取的信号后面加了一个 to file的模块,运行后就会有一个untitled.mat 的文件,但是我用小波分析工具箱打开时就会提醒里面没有一维信号,这是怎么回事呢??
问题有点多,谢谢高手解答,

你可以用 To Workspace(注意 save format 设定为 aray)把y输出到workspace里,这是1维的,再手动保存到文件里。 同时可以直接用 plot(tout, y) 画图。追问

就快要大功告成了,但是我发现变量tout(tout是simulink里面默认的变量吧)是1000*1的数组,为什么?而y是3005*1的数组,这个数组的长度不一样,所以不能画图啊,该怎么改成一样的呢?我后来加了一个CLOCK部件,在把这个clock送到工作空间,建立一个新的变量,就解决了长度不一样的问题了,请问还有更好的方法吗?谢谢!

追答

用CLOCK部件来统一时间序列个数是正确的。
如果这样还麻烦的话(因为还要手动画图和手动保存数据),可以考虑编写一个简单的m文件来控制simulink仿真,然后画图,再执行神经网络的相关命令。
1. 在该仿真里输入y到workspace里(save format 设定为 structure with time。
2. 在m文件里,用sim命令执行simulink 模型,然后处理上面的工作空间的数据,成为你要的一维形式。
3. 用plot命令画图。
4. 执行神经网络的相关命令

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-24
直接输出接OUT端,然后再workplace看变量名,默认为tout,和yout。直接用plot(tout,yout)就可以搞定。

...以及用plot作图让横轴显示时间而非序列的问题
你可以用 To Workspace(注意 save format 设定为 aray)把y输出到workspace里,这是1维的,再手动保存到文件里。 同时可以直接用 plot(tout, y) 画图。

怎样把“MATLAB"程序中的图形格式保存为.mat格式
用getframe函数试试看,把当前得figure存到result里面去,result.cdata是数据,result.colormap是颜色。x=1:10;y=2.*x;plot(x,y);result=getframe(gcf);image(result.cdata);colormap(result.colormap);save result;

如何把Matlab中plot画的图形文件保存为.mat格式,我要把它导入小波的工具...
首先你画图之前要有数据 比如说plot(a)那么你只能保存a 即你的workspace里面要有变量a 在file里面有save as 就可以保存了 如果只有一个图片 那么是无法保存的

...simulink仿真模型的示波器中的数据导出为mat格式文件
你需要先在simulink模型中的输出信号后面加入一个“to workspace”的模块,这样你的输出信号就可以输出到matlab主窗口中的workspace中,这样就可以在主窗口中调用小波分析工具箱对输出数据进行处理。

用matlab做了一个程序,可以直接运行,但保存之后是.mat格式,请问怎么保...
.mat是matlab的数据库文件类型,可以程序里强制转化。

在matlab中如何用mat数据作图
Mat数据一般是matlab运行之后生成的结果。你只需要使用load(‘XXX.mat’)语句先把mat文件读入到工作区,然后对你需要的数据进行作图就OK了、、、PS:一般一维数据用plot成图,,二维选择性多一点,可以用imagesc或者其他。三维的也可以成图

怎么将matlab中mat数据保存为txt格式
1、首先在Matlab中生成一组数据data=0:1:1000;生成了0到1000的1001个数据,数据之间间隔为1。2、使用save函数,这是最简单的一种方法。首先查看一下save函数的介绍,在命令行窗口中输入doc save。3、可以看到save函数的功能是将工作控件中的变量保存到文件中,其格式如下。4、在命令行窗口输入save(...

pandas的DataFrame转存MATLAB的mat格式
实现转换的标准步骤是使用 sio.savemat('filename.mat', {name: col.values for name, col in df.items()}) 函数。但在操作过程中,需要注意两个关键问题。首先,DataFrame 中不能包含中文字符。如果 DataFrame 中存在中文,会引发编码问题。解决这一问题的简便方法是将中文替换为英文表示,确保数据...

如何将csv格式的数据转换成mat(matlab使用的)格式。
matlab直接在“主页”就有“导入数据”,点击导入记得勾选,导入成功之后再保存工作区就可以了

matlab 矩阵是如何显示为图像,就是怎样将存入的数据流转化为图片显示...
1、matlab确定存入的数据流以后,需要找到plot并点击跳转。2、下一步弹出一个新的对话框,在左上角选择文件进行导出。3、这个时候来到相关窗口,通过设置相关参数来点击导出。4、选择保存的地址、名称和格式,如果没问题就直接确定。5、这样一来会转化为图片显示,即可实现矩阵显示为图像了。

相似回答