24小时热门版块排行榜    

查看: 4114  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yumushuizi22

新虫 (小有名气)

[求助] 求助:Matlab大数据的处理方式,涉及多个for循环嵌套 已有3人参与

问题可以简单描述为:有七个变量(可视为独立),有解析表达式(只有根号、分式以及加减乘除),每个变量需要取值10000左右,求解值可以不用输出,只需对其作一定判断,符合条件4的计数+1。
实际操作:简单直接的用了for循环嵌套,结果发现即使工作站在只做了四次循环且每个循环1000次的情形下,一夜约10小时都没跑出结果来,循环内部开始只有四句简单语句,后来发现存储求解值没必要,就在内部加了判断语句,符合就计数一次。

求助:1)我这样做肯定是没出路了,时间和空间上都支出太多
           2)想着是否可以将求解值写入文本,循环外部再对文本数据进行判断处理,但试过循环10次的,输出文本就有500+兆了,是我写的有问题还是这样做也不行?
           3)这应该就是大数据吧,查了查好像很多应对方式,可惜一个也看不懂,不知道如何下手
           4)是否有必要使用C++来重述问题?C++用起来更加不熟练,而且总觉得matlab就是应该更适应数据处理才对啊

本人对编程十分不熟练,很多语句都是从各个网页上消化改编过来的,可能我的代码本身就有很大问题,翻书以及参照视频等专业工具又觉得十分深奥难懂,所以跪求指点!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Justin147

铁杆木虫 (著名写手)

如果非要用MATLAB,肯定要改算法思路,把原来的循环想办法改成矩阵或向量运算,尽量降低循环使用,另外可以考虑引入MATLAB的并行功能

发自小木虫Android客户端
4楼2016-05-22 10:54:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

zjstar

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
第一,你要明白matlab是基于矩阵的高级语言,你可以迭代元素换成矩阵的运算
第二,切记不要出现循环嵌套
第三,可以先大范围寻优,再局部寻优

发自小木虫Android客户端
3楼2016-05-20 10:36:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wshy1126

新虫 (正式写手)

要循环就用c写,然后用matlab调用,matlab循环嵌套太慢了。

发自小木虫Android客户端
5楼2016-05-22 10:58:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
6楼2016-05-23 22:20:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见