Matlab除了buildin函数和mex/dll文件看不到原码,其他如工具箱等都可以直接看到代码,首先确认该文件安装在matlab中,即which filename.m存在,然后可以edit filename.m
26)Matlab有没有求矩阵行数/列数/维数的函数?
:#FangQ(Qianqian.Fang@http://www.doczj.com/doc/3601188984868762caaed57c.html),2002/6/21,BigGreen/MathTools #
ndims(A)返回A的维数
size(A)返回A各个维的最大元素个数
length(A)返回max(size(A))
[m,n]=size(A)如果A是二维数组,返回行数和列数
nnz(A)返回A中非0元素的个数
27)Matlab中如何中断运算?
:#FangQ(Qianqian.Fang@http://www.doczj.com/doc/3601188984868762caaed57c.html),2002/6/21,BigGreen/MathTools #
在命令窗口按Ctrl+C,在UNIX/LINUX会立即中断运算,在Windows可能由于操作系统的原因,有时会出现死机和等待的情况。
28)Matlab中有没有画圆或椭圆的函数?
:#FangQ(Qianqian.Fang@http://www.doczj.com/doc/3601188984868762caaed57c.html),2002/6/21,BigGreen/MathTools #
没有,Matlab没有提供直接绘圆的图元函数,需要自己写代码,其实
就两句:
sita=0:pi/20:2*pi;
plot(r*cos(sita),r*sin(sita)); %半径为r的圆
plot(a*cos(sita+fi),b *sin(sita+fi)); %椭圆
如果是单位圆,可以使用rectangle('Curvature', [1 1])
29)Matlab下如何定义整形
:#修改:fhorse (马不停蹄),2002/6/21,SMTH/MathTools #
Matlab默认的矩阵数据结构都是双精度浮点型,即64位来表示一个数字,大多数的函数和操作都定义在double数据结构,如果你需要
把double的数据转换为整形,然后再参与运算,需要使用
double(int32(x))或者floor/round/ceil等函数
如果为了节省内存,只进行赋值、打印等简单操作,可以参
见uint8/uint16/uint32命令的帮助