MATLAB 板


LINE

请问一下 matlab与c主要的差别在哪? 用C打得出来的,matlab也可以吗? 用matlab打的出来的,C也可以吗? 因为只会C, 所以老师说要用matlab打时想说可不可以用C来做@.@ 感【激不尽~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.115.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1429693106.A.D14.html
1F:推 sunev: 两者都是图灵完全(误) 04/22 17:27
2F:推 profyang: 回圈什麽的matlab都可以写 只要想要会动用c是OK的 04/22 18:50
3F:→ profyang: 阿看错 你是本来用matlab要用c 那我就不确定了 04/22 18:51
4F:→ profyang: 有可能你们学的东西需要用到不少matlab内建函式 难道这 04/22 18:51
5F:→ profyang: 些你都要自己在c重写?还是你找得到别人建好的函式? 04/22 18:52
6F:→ profyang: 以我个人是比较建议你乾脆用matlab 毕竟你都会用c了 真 04/22 18:52
7F:→ profyang: 不行直接在matlab写回圈还是会动的 04/22 18:53
8F:推 JamesChen: 你想问哪方面的差距? 04/22 23:17
9F:→ pipidog: 一个是编译式,一个是直译式,完全不一样的逻辑啊! 04/23 12:32
10F:推 linux5566: 能用matlab就用吧 不要折磨自己 04/23 14:07
由於很多题目,教授叫我们用程式打,C或Matlab都可,但是我matlab学得很浅,印象中 我当初用matlab,都是曲线图之类的,但用C就是很多程式(像是99乘法,猜数字等等的), 想说两者感觉差很多,但为什麽可以用C或用matlab来做?~ ※ 编辑: puppyulove (140.123.115.123), 04/23/2015 14:39:51
11F:→ aada: 这只是个工具, 用啥都好, 用手算画也可以~ 04/23 14:51
12F:→ jatj: 速度是最大的考量 matlab优点在丰富的library 不用什麽都 04/23 14:55
13F:→ jatj: 自己coding, 但是执行速度matlab跟c完全不在同一个档次 04/23 14:56
14F:→ jatj: 用於验证想法matlab是很好的工具 但是要开发程式最後还是C 04/23 15:24
嗯嗯, 再问个问题 matlab是采用图形用户介面对八~ 所以意思是说所有的数据都是由 图形来呈现吗? 例如要用matlab做99乘法表要怎麽呈现阿~ 新手发问Q_Q ※ 编辑: puppyulove (140.123.115.123), 04/23/2015 18:33:49
15F:→ s4300026: 先用就对了,matlab好用,C会coding到死 04/23 23:06
16F:推 s4300026: 当老师说用C或matlab时,可以不要选C来折磨自己 04/23 23:09
17F:→ celestialgod: 简单来说matlab可以即时检视结果、除错 04/23 23:32
18F:→ celestialgod: 又有图形能力、方便的GUI使用以及各种toolbox 04/23 23:33
19F:→ celestialgod: 用C你可能要去找一堆library然後还要编译安装 04/23 23:34
20F:→ celestialgod: MATLAB都帮你准备好了 04/23 23:34
21F:→ celestialgod: matlab做99乘法就 for i=1:9,for j=1:9,disp( 04/23 23:35
22F:→ celestialgod: ['i*j=', num2str(i*j)]), end, end 04/23 23:36
23F:→ celestialgod: 更正[num2str(i),'x',num2str(j),'=',num2str(i*j)] 04/23 23:39
24F:→ jatj: 99乘法表 kron(1:9,(1:9)') 04/24 09:25
25F:→ jatj: 用到两个for就不是matlab的精随了 基本上跟c一样了 04/24 09:26
26F:→ jatj: c: for(int i=1;i<=9;i++) for(int j=1;i<=9;j++) 04/24 09:29
27F:→ jatj: cout << i << '*' << j << '=' << i*j << endl; 04/24 09:29
28F:→ celestialgod: 只是要print string 如果只output结果当然那样就好 04/24 11:58
29F:→ celestialgod: 也可以这样 [a,b] = meshgrid(1:9, 1:9); 04/24 12:01
30F:→ celestialgod: arrayfun(@(x, y) [num2str(x), '*', num2str(y), 04/24 12:01
31F:→ celestialgod: '=', num2str(x*y)], a, b, 'UniformOutput', false 04/24 12:01
32F:→ celestialgod: ) 04/24 12:01
恩恩,所以说C能做的Matlab大致都能瞜,而且matlab还比c简单多了就对了~ 那c跟matlab比有甚麽好处呢? ※ 编辑: puppyulove (140.123.115.123), 04/24/2015 12:10:18
33F:→ celestialgod: 快 04/24 12:13
34F:→ celestialgod: 程式易读性、向量矩阵运算等都是MATLAB胜出比较多 04/24 12:13
35F:→ celestialgod: 向量矩阵运算,我是指撰写程式上 04/24 12:16
36F:推 linux5566: 你各别写个矩阵乘法 就知道差别了 04/24 13:36
37F:推 maplefog: 用C和matlab写个1000x1000的复数反矩阵 就知道差别了 04/24 21:40
38F:→ diggershi: 教授给的题目是哪一类的,如果都属於数学 画图之类 04/24 23:28
39F:→ diggershi: 不用想Mathlab 除非写出来的code跑个好几天也跑不完 04/24 23:29
40F:→ diggershi: 再来考虑c,不过 好像Mathlab也有提供转C的功能... 04/24 23:30
41F:→ warex14: C的好处应该就是「免费」,MATLAB很贵 04/25 11:18
42F:→ warex14: 再来就是MATLAB属於直译式语言速度比较慢 04/25 11:18
43F:→ warex14: (不过人家还在写c的时候MATLAB都应该写完跑好几次了) 04/25 11:19
44F:→ celestialgod: matlab转c的code不见得可以跑,慢的话针对慢的演算 04/25 13:45
45F:→ celestialgod: 法写c,用matlab call c即可。 04/25 13:45
46F:→ jatj: 楼上warex你大概没跑过c只要五小时matlab要超过5周的project 04/26 03:31
47F:→ jatj: 这时候你花一个月写程式也值得 04/26 03:31
48F:→ jatj: 两个语言的基本用处完全不一样 这应该是原po要搞懂的 04/26 03:32
49F:推 sunev: 十倍速正常,差到百倍我会觉得那个人不懂matlab…… 04/26 08:31
50F:→ celestialgod: matlab在双层以上回圈(叠代)是很可能慢到这种地步 04/26 09:09
51F:→ celestialgod: 无法使用向量运算下是有可能差那麽多的 04/26 09:09
52F:→ celestialgod: 我自己亲身例子是小资料五倍,大资料拉到二十倍... 04/26 09:10
53F:→ jatj: 我当时至少也有八年使用的经验了 我想我没有到不懂的地步 04/26 10:04
54F:→ jatj: 当你处理的资料是以千万个回圈当单位来计算 资料量是GB等级 04/26 10:05
55F:→ jatj: 的时候 或许就可以体会我说的话了 有兴趣欢迎私下讨论 04/26 10:06
56F:→ jatj: 稍微更正 应该说资料点数是以10^9以上个int来计算的时候 04/26 10:07
57F:→ jatj: 没记错我当初跑了10^10^4个回圈 一个回圈产生3个int 04/26 10:09
58F:→ jatj: 一定要用回圈是因为下个点是根据之前资料产生的 当资料大的 04/26 10:13
59F:→ jatj: 时候就要存回硬碟适时再抓出来 每个回圈也会呼叫其他回圈 04/26 10:14
60F:→ jatj: 有兴趣我可以把原始档丢上来C和MATLAB都有 是我研究所修课 04/26 10:14
61F:→ jatj: 的期末project 04/26 10:14
62F:→ jatj: 我当时是已有八年Matlab经验 C不到半年 04/26 10:16
63F:→ celestialgod: 我觉得s大根本没看过费式数列的效能比较,差到四千 04/26 11:09
64F:→ celestialgod: 多倍 04/26 11:09
65F:→ oversky0: http://bit.ly/1EEbuQK 向量化的费式数列。 04/26 11:36
66F:→ oversky0: 我没用过,有没有人有兴趣测一下时间? 04/26 11:37
67F:→ celestialgod: 楼上这是一个矩阵向量化去算各自费式数列的值,不是 04/26 12:16
68F:→ celestialgod: 单一个数的费式数列向量化 04/26 12:16
69F:推 sunev: jatj 可以大概讲一下演算法吗?如果没办法用空间换时间 04/26 12:43
70F:→ sunev: 那是没救没错。 04/26 12:43
71F:→ sunev: celestialgod的费式数列是什麽意思?不能像oversky0一样用 04/26 12:45
72F:→ sunev: 公式解吗? 04/26 12:45
73F:→ celestialgod: oversky0的连结是向量化运算整数矩阵的每一个元素 04/26 13:15
74F:→ celestialgod: 的费式数列,等於一次跑跟矩阵元素一样多个的费式 04/26 13:15
75F:→ celestialgod: 数列,说真的那样不如建立一个最大数,再用参照位置 04/26 13:15
76F:→ celestialgod: 找出来对应的费式数列值。 04/26 13:15
77F:→ celestialgod: 最大数的费式数列 04/26 13:16
78F:推 celestialgod: 反正他还是递回就是会比c慢上许多。 04/26 13:23
79F:推 sunev: oversky0给的连结是直接用公式,没有用到递回。 04/26 13:28
80F:→ sunev: matlab用这个公式是有可能比c慢,但应该不会慢到十倍以上 04/26 13:28
81F:→ celestialgod: 最後一行还是call itself..... 04/26 13:47
82F:→ celestialgod: 我误会了.... 抱歉,不过公式解确实会快一点,我例 04/26 13:51
83F:→ celestialgod: 子举的不够好 04/26 13:51
84F:→ celestialgod: Computation Time Comparison Between Matlab and C 04/26 13:55
85F:→ celestialgod: ++... ,2012 04/26 13:55
86F:→ celestialgod: 超过四百倍。 04/26 13:55
87F:推 sunev: 你说的四百倍是指递回公式吗? 你算到多大的n啊? 04/26 14:15
88F:→ oversky0: 四千倍大概可以参考这边 http://julialang.org/ 04/26 14:21
89F:推 sunev: 楼上的连结真的是太惨烈了…… 04/26 14:40
90F:→ celestialgod: julia某些比较实在不适合 04/26 14:57
91F:→ celestialgod: 或许可以尝试用PSO做比较,两者在较多Swarms下 04/26 15:01
92F:→ celestialgod: 如果目标函数是难以向量化的函数,会差上几百倍 04/26 15:02
93F:→ celestialgod: 例如:design的optimal,分类的AUC, accurate rate 04/26 15:02
94F:→ jatj: 给原po应该要了解各个语言的优缺点 适时选择适当语言 04/27 04:22
95F:推 warex14: 我确实没遇过那种MATLAB要跑超久的project 04/27 15:45
96F:→ warex14: 我c也没有很精通 04/27 15:46
97F:→ warex14: 所以我也只是就我曾经遇过的问题来说 04/27 15:47
98F:→ warex14: 还在coding c的时候MATLAB应该已经写好且跑完了 04/27 15:48
99F:→ warex14: 没有说一定是这样,但非特殊情形的时候,我觉得是这样啦 04/27 15:49
100F:推 math99: 换个角度想 乘机会多学一套软体也不错啊 04/28 14:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP