数学建模社区-数学中国

标题: MATLAB中内置了哪些函数是本科生常用的? [打印本页]

作者: benLoveting    时间: 2015-4-9 20:51
标题: MATLAB中内置了哪些函数是本科生常用的?
首先,自我检讨:我把MATLAB用成了C++。(我刚刚自己编了一个求最大值的循环,突然发现MATLAB有max这个函数,我就有了深深的愧疚。)
我想请对这款软件熟悉的人列举一些本科生常用的函数和MATLAB中的名字。让我少走一些弯路,真诚的感谢你。

作者: benLoveting1314    时间: 2015-4-9 20:53
水点体力回家下载东西

作者: 韶华易逝去    时间: 2015-4-9 20:57
我知道楼主在这里肯定要不到想要的答案的,虽然帮不上忙,但是我尽力,所以刚刚花了几分钟写了个py脚本提取了一下自己1900+个m文件的“函数”出现频率前100的,如下(函数加引号是因为没法区分出函数和变量来,所以自己人脑区分吧~):
('size', 1147) ('subplot', 1141) ('zeros', 1099) ('ones', 814)
('sym', 670) ('abs', 669) ('title', 652) ('find', 566)
('max', 563) ('figure', 548) ('min', 522) ('subs', 459)
('findsym', 436) ('set', 422) ('fprintf', 381) ('ylabel', 346)
('sqrt', 346) ('exp', 268) ('sin', 250) ('randn', 250)
('imshow', 236) ('cos', 235) ('xlabel', 223) ('reshape', 219)
('floor', 187) ('diag', 176) ('eye', 162) ('wrcoef', 161)
('log', 158) ('num2str', 156) ('rand', 152) ('axis', 149)
('repmat', 147) ('colormap', 144) ('linspace', 136) ('double', 128)
('get', 128) ('norm', 123) ('wcodemat', 120) ('alphaall', 120)
('isempty', 114) ('fftshift', 111) ('imread', 110) ('sort', 109)
('fft', 109) ('log10', 108) ('load', 103) ('uint8', 103)
('isfield', 99) ('strcmp', 99) ('while', 91) ('round', 90)
('inv', 88) ('close', 72) ('transpose', 72) ('real', 71)
('power', 71) ('std', 66) ('elseif', 64) ('fgetl', 64)
('mod', 63) ('contour', 62) ('for', 62) ('sign', 59)
('fft2', 56) ('meshgrid', 56) ('mvnrnd', 53) ('xlim', 50)
('stem', 50) ('sim', 48) ('fopen', 48) ('ceil', 47)
('str2num', 47) ('legend', 46) ('wavedec', 46) ('detcoef2', 43)
('wavefun', 42) ('ifft2', 42) ('uimenu', 40) ('cumsum', 39)
('freqz', 38) ('wavedec2', 38) ('tan', 37) ('wrcoef2', 37)
('text', 34) ('ifft', 34) ('sinh', 32) ('clabel', 32)
('betaall', 32) ('fliplr', 31) ('findobj', 31) ('not', 30)
('imwrite', 30) ('strcat', 30) ('conv', 30) ('randperm', 30)
('fclose', 29) ('intersect', 29) ('setdiff', 29) ('fix', 28)
[Finished in 0.8s]

代码:

#coding=utf-8
import os
import re

fundict = {}
invalidlist = set()
for filename in os.listdir("./"):
    if not filename.endswith("m"):
        continue
    # 文件名不是系统函数
    invalidlist.add(filename[0:-2])
    for line in open(filename):
        comments = line.find('%')
        if comments >= 0:
            line = line[0:comments]
        # function xxx不是系统函数
        result = re.findall(r'function\s([A-Z_a-z0-9]+)\s*\(',line)
        if len(result):
            invalidlist.add(result[0])
            continue
        # 被赋过值的是变量不是系统函数
        result = re.findall(r'([A-Z_a-z0-9]+)\s=',line)
        if len(result):
            invalidlist.add(result[0])
        result = re.findall(r'([A-Z_a-z0-9]+)\s*\(',line)
        if len(result) != 0:
            for foo in result:
                # 长度小于3,有大写或_的不是系统函数
                if len(foo) <= 2 or len(re.findall('[A-Z_]',foo)) or foo in invalidlist:
                    continue
                if fundict.has_key(foo):
                    fundict[foo] += 1
                else:
                    fundict[foo] = 1

for key in fundict:
    if key in invalidlist:
        fundict[key] = -1

dict= sorted(fundict.iteritems(), key=lambda d:d[1], reverse = True)
for i in range(0,100):
    if (i+1)%4:
        print dict[i],
    else:
        print dict[i]


作者: 韶华易逝去    时间: 2015-4-9 20:58
我猜你c++求max不是用std::max_element而是用循环

作者: 乐路1号    时间: 2015-4-9 22:31
很多的,基本的都有,多看看书练习练习





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5