sobranie_1 发表于 2012-10-26 11:02

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

本帖最后由 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
                                    .                        .               .
                                    .                        .               .
                           

sads 发表于 2012-10-26 11:05

{:3_251:}in welchem Bereich

bupt1419 发表于 2012-10-26 11:16

数值的,我懂一些,simulation 一点不懂

meditation 发表于 2012-10-26 11:31

听起来很有意思啊。不妨把书和题目说出来,楼下的大牛会帮你的

mpanxiao 发表于 2012-10-26 12:03


CSDN

GSM 发表于 2012-10-26 12:22

你把问题不贴出来, 大家怎么帮你?

flyrathabu 发表于 2012-10-26 13:19

你会C语言的话,matlab编程不难的,至于simulation那是个模拟软件,和其他模拟软件差不多,都是先建立电路图

shrek_munich 发表于 2012-10-26 13:22

lz你到底想干啥呢?
不会做可以把题目贴出来,大家给点意见
不过你总不会期望大家帮你做吧,这好歹也是你的作业吧?

crazymoon 发表于 2012-10-26 16:07

本帖最后由 crazymoon 于 2012-10-26 15:11 编辑

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


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

new_life 发表于 2012-10-26 16:57

其实matalb没啥问的,涉及大的算法思路的,别人没时间给你想。涉及命令细节的,直接help或者google中文例子

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

黄瓜绿呀 发表于 2012-10-26 17:12

点HELP来学吧……神马案例都有……

JonnySun 发表于 2012-10-26 17:16

11月5日 正式开始Matlab实习,平日只做过一点Simulation的实验,听楼主这么一讲,瞬间裤子湿了……

xuleon 发表于 2012-10-26 17:18

图像神马的不懂

专精Finanz 方向 matlab 应用

pentax-kx 发表于 2012-10-26 17:38

simulation实验指的是simulink?
这个把微分方程弄清楚了就好了

xiaohai171 发表于 2012-10-26 17:44

楼主说说主要想做哪方面的,matlab能做的太多了

fiona_chen 发表于 2012-10-26 19:48

crazymoon 发表于 2012-10-26 16:07 static/image/common/back.gif
图像方面的话,略懂。。。




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

不过必须说matlab的F1写的还是很不错的。英语不好的建议跳过前面那一大堆有的没有的,直接拉到下面看例子。

fiona_chen 发表于 2012-10-26 19:51

那啥楼主,编程略懂,simulink真心的不懂。

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

kiro 发表于 2012-10-26 19:59

用scilab和octave的表示matlab难度很低

dragonhawk 发表于 2012-10-26 19:59

matlab应该最简单了吧,C++什么都要自己写才难呢。

crazymoon 发表于 2012-10-26 20:04

fiona_chen 发表于 2012-10-26 18:48 static/image/common/back.gif
哈哈,以我的经验,刚开始用matlab的人看到F1就头痛的。。。尤其如果英语还不好的话。

不过必须说matl ...

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

实践才是真理啊 哈哈哈

dec04009 发表于 2012-10-27 01:56

有个math center吧,大把大把的例子,搜索下找个类似的 照葫芦画瓢

sobranie_1 发表于 2012-10-29 10:35

太感谢大家的帮助了,,周末忙于打工,现在一看竟然已经有这么多回复{:4_298:}

sobranie_1 发表于 2012-10-29 10:53

同时想请教大家,有没有什么能够循序渐进的MATLAB教材可以自学?网上下载的中文教材真的叫一个坑啊

GSM 发表于 2012-10-29 13:07

sobranie_1 发表于 2012-10-29 09:53 static/image/common/back.gif
同时想请教大家,有没有什么能够循序渐进的MATLAB教材可以自学?网上下载的中文教材真的叫一个坑啊

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

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

Michalsky 发表于 2012-10-29 15:47

除了用fileopen, textscan然后if比较string之外,咱们门外汉想不出别的办法了。我觉得如果要优化只能找学数学或者计算机的研究算法了。

kilin027 发表于 2012-10-29 16:31

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

sobranie_1 发表于 2012-10-29 20:31

文件读入可以用 textscan这个命令,文件头可以直接用delimiter跳过,问题是:
1.第三列中,有时候为数值,有时候为字符,这该怎么办?第四列有时为字符,有时为空
2.读入数据之后,该怎样对这么多的信号进行检索?

sobranie_1 发表于 2012-10-30 10:10

第一个问题已经解决了


fid = fopen(datei);

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

fclose(fid);


现在就是重新写入新矩阵然后排序的问题
页: [1]
查看完整版本: 求助万能的家电版,有会MATLAB编程的吗?(已附题目,家电版无敌)