MATLAB中内置了哪些函数是本科生常用的?
首先,自我检讨:我把MATLAB用成了C++。(我刚刚自己编了一个求最大值的循环,突然发现MATLAB有max这个函数,我就有了深深的愧疚。)我想请对这款软件熟悉的人列举一些本科生常用的函数和MATLAB中的名字。让我少走一些弯路,真诚的感谢你。
水点体力回家下载东西{:3_41:}
我知道楼主在这里肯定要不到想要的答案的,虽然帮不上忙,但是我尽力,所以刚刚花了几分钟写了个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)
代码:
#coding=utf-8
import os
import re
fundict = {}
invalidlist = set()
for filename in os.listdir("./"):
if not filename.endswith("m"):
continue
# 文件名不是系统函数
invalidlist.add(filename)
for line in open(filename):
comments = line.find('%')
if comments >= 0:
line = line
# function xxx不是系统函数
result = re.findall(r'function\s(+)\s*\(',line)
if len(result):
invalidlist.add(result)
continue
# 被赋过值的是变量不是系统函数
result = re.findall(r'(+)\s=',line)
if len(result):
invalidlist.add(result)
result = re.findall(r'(+)\s*\(',line)
if len(result) != 0:
for foo in result:
# 长度小于3,有大写或_的不是系统函数
if len(foo) <= 2 or len(re.findall('',foo)) or foo in invalidlist:
continue
if fundict.has_key(foo):
fundict += 1
else:
fundict = 1
for key in fundict:
if key in invalidlist:
fundict = -1
dict= sorted(fundict.iteritems(), key=lambda d:d, reverse = True)
for i in range(0,100):
if (i+1)%4:
print dict,
else:
print dict
我猜你c++求max不是用std::max_element而是用循环
很多的,基本的都有,多看看书练习练习
页:
[1]