北太天元数值计算通用软件的几个小知识点和用法小技巧
中科大徐老师这学期正在上数值分析这门课,推荐学生使用北太天元数值计算通用软件。几天前,收到徐老师的邀请,商定了3月20日去和学生讲讲北太天元软件的一些使用技巧,在阅读了几名学生的代码后,我看到了学生的理论和算法都掌握得很好,不由得为祖国的未来暗暗喝彩。想到指点这些才华横溢的学子,我感到诚惶诚恐,忐忑不安。在忐忑中我还是斗胆对代码做了一些修改,发现代码运行的效率还是有所提高。因此,还是在这里班门弄斧一下,和大家分享一些北太天元数值计算通用软件的知识点和用法上的小技巧。
矩阵 北太天元默认的数据类型是 double matrix, 标量是 1x1 double matrix , 因此在编程的时候,尽量使用矩阵的语言来写算法。
机器精度 北太天元的内置函数 eps 返回的是机器精度,要注意 1+x 精确地 和 1 相等,如果 |x| < eps / 2 .
降低循环次数 见我做的小视频 【北太天元软件的计时函数(tic,tok)和循环加速的另一个例子】
多用矩阵和向量的操作,少用对分量的循环
./ .\ .* .^2 各种内置函数,如sin,cos,log 都接受矩阵作为自变量
+ - .* ./ 还能自动对矩阵的扩展
如 [ 1 3 7 ] + [ 2 ; 4 ] 会得到一个 2x3的矩阵 [ 3 5 9; 5 7 11]
如 [ 1 2 3] .* [ 1 1 1 ; 2 2 2 ] = [ 1 2 3 ; 2 4 6 ] , 注意这里是 .* 第一个矩阵自动做了扩展
尽量不用内置函数名作为变量,如下面列出来的tic,tok, find, linspace, sum 等
计时函数 tic tok 见我做的小视频 【北太天元软件的计时函数(tic,tok)和循环加速的另一个例子】
find 函数
linspace, 冒号表达式
注释 帮助信息, 单行注释,多行注释,
sum
prod
ans
nargin, nargout
delay (这个目前要加载插件time,加载命令是 load_plugin("time") )
取矩阵的子矩阵
A = rand(3,5); A(:)
A = 1:10; A = reshape(A, 2,5);
length , size