找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1858|回复: 27

[其他] 求助万能的家电版,有会MATLAB编程的吗?(已附题目,家电版无敌)

[复制链接]
发表于 2012-10-26 11:02 | 显示全部楼层 |阅读模式
本帖最后由 sobranie_1 于 2012-10-29 09:46 编辑

实习编程,学matlab,到现在刚3个星期,助教丢给我一本德语的matlab教学书,让我自学,然后每周给我一个题目,,最近越来越难了,,搞不定,,求助,,


如图,它为这段超长数列中的一小段,这些数值是一辆汽车在10秒内传感器所检测到的各项信号值。10秒内一共有大约65000这样。此文件为CSV文件。

从14行开始,按照时间(最小单位0.00001秒)| 信号名称 | 信号值 |信号单位的顺序进行输出。

其中,如果此信号为关闭状态或者其他状态,则显示为字符,并且信号单位这栏不显示。

信号名称估计有60-70多项,是检测值,信号出现的顺序不是固定的。

现在要求用MATLAB进行检索,分开统计每个检测项目的值。并尽可能的缩短程序时间。

比如其中的一项Gierrate值,它在第23行第一次出现,然后下一次出现在97行,再下一次出现195行,用matlab制作矩阵表格,直接按照时间顺序,对不同的检测名称进行输出。格式大概是这样:

         检测项目     DR_Gierrate        DR_a_x      DR_a_y  .......(估计可能有几十项)

时间                      0.48828125s       0.068g          0
                                    .                        .               .
                                    .                        .               .
                           

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

×
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2012-10-26 11:05 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 11:16 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 11:31 | 显示全部楼层
听起来很有意思啊。不妨把书和题目说出来,楼下的大牛会帮你的
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 12:03 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 12:22 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 13:19 | 显示全部楼层
你会C语言的话,matlab编程不难的,至于simulation那是个模拟软件,和其他模拟软件差不多,都是先建立电路图
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 13:22 | 显示全部楼层
lz你到底想干啥呢?
不会做可以把题目贴出来,大家给点意见
不过你总不会期望大家帮你做吧,这好歹也是你的作业吧?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 16:07 | 显示全部楼层
本帖最后由 crazymoon 于 2012-10-26 15:11 编辑

图像方面的话,略懂。。。


另外,一定要勤用F1。。。

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 16:57 | 显示全部楼层
其实matalb没啥问的,涉及大的算法思路的,别人没时间给你想。涉及命令细节的,直接help或者google中文例子

算法细节问题发上来,可以碰碰运气

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 17:12 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 17:16 | 显示全部楼层
11月5日 正式开始Matlab实习,平日只做过一点Simulation的实验,听楼主这么一讲,瞬间裤子湿了……
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 17:18 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 17:38 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 17:44 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 19:48 | 显示全部楼层
crazymoon 发表于 2012-10-26 16:07
图像方面的话,略懂。。。

哈哈,以我的经验,刚开始用matlab的人看到F1就头痛的。。。尤其如果英语还不好的话。

不过必须说matlab的F1写的还是很不错的。英语不好的建议跳过前面那一大堆有的没有的,直接拉到下面看例子。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 19:51 | 显示全部楼层
那啥楼主,编程略懂,simulink真心的不懂。

不过matlab的编程主要还是你要先有算法呀,有了算法其实就是往里面码字而已了。
唯一跟C不一样的就是matrix可以直接用加减乘除,不用c一样的一个二维矩阵还得俩for循环。排个序还得冒泡算法。

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 19:59 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 19:59 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-26 20:04 | 显示全部楼层
fiona_chen 发表于 2012-10-26 18:48
哈哈,以我的经验,刚开始用matlab的人看到F1就头痛的。。。尤其如果英语还不好的话。

不过必须说matl ...

对 其实就是需要看例子。。一看就明白个大概齐了

实践才是真理啊 哈哈哈
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-27 01:56 | 显示全部楼层
有个  math center吧,大把大把的例子,搜索下找个类似的 照葫芦画瓢
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-29 10:35 | 显示全部楼层
太感谢大家的帮助了,,周末忙于打工,现在一看竟然已经有这么多回复
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-29 10:53 | 显示全部楼层
同时想请教大家,有没有什么能够循序渐进的MATLAB教材可以自学?网上下载的中文教材真的叫一个坑啊
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-29 13:07 | 显示全部楼层
sobranie_1 发表于 2012-10-29 09:53
同时想请教大家,有没有什么能够循序渐进的MATLAB教材可以自学?网上下载的中文教材真的叫一个坑啊

这是一个matlab指南, 我觉得写的挺好的. http://code.google.com/p/yagtom/

看了你贴的题目, 感觉主要是算法设计, 而不是matlab语言本身的问题. 另外在matlab里要想代码运行快, 得尽量避免使用for循环, 多用matlab自己的函数, 必要时考虑调用C或者其他语言的函数.

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-29 15:47 | 显示全部楼层
除了用fileopen, textscan然后if比较string之外,咱们门外汉想不出别的办法了。我觉得如果要优化只能找学数学或者计算机的研究算法了。

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

发表于 2012-10-29 16:31 | 显示全部楼层
建个二维动态数组,去掉文件头,以“|”为分隔符读取字符串文件到这个二维数组里,之后用这个数组检索就好了。
其实最简单的办法就是,不用matlab,用excel导入这个文件,同样以“|”为分隔符,导入之后每个数据都在一个单元格里,用过滤器就可以直接操作了。

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-29 20:31 | 显示全部楼层
文件读入可以用 textscan这个命令,文件头可以直接用delimiter跳过,问题是:
1.第三列中,有时候为数值,有时候为字符,这该怎么办?第四列有时为字符,有时为空
2.读入数据之后,该怎样对这么多的信号进行检索?

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-30 10:10 | 显示全部楼层
第一个问题已经解决了


fid = fopen(datei);

daten = textscan(fid,'%f %s %s %s','delimiter','|','headerlines',13);

fclose(fid);


现在就是重新写入新矩阵然后排序的问题
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-7-30 20:39 , Processed in 0.110237 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表