目前正在阅读MATLAB相关的书籍:Numerical Methods with MATLAB,现在感觉这本书写的还行,
细致基础,而且写的比较清楚,同时把malab和数值算法结合在一起。
目前刚看完第一章,下面是相关的命令跟工具tips
1. 保存和加载数据的语句
save or load
2. 画图相关的命令
subplot:并不是用于画图,感觉是获得窗口句柄的。
plot、hist:2d作图的函数
title、label、label、axis:用于控制显示的语句,根据字面理解就可以了。
meshgrid/mesh,surf,contour:用于3D的作图,也仅用于3D,感觉surf比mesh好看,contour画出的是大量的等高线!!!
3. 矩阵操作相关的命令
pinv:求逆,也可以求伪逆
sum,prod:求和和求积的函数
max、min:注意第二个参数
reshape、ones、zeros、eye、diag:有用的小函数
4. 随机数相关的函数
rand:uniform分布
randn:高斯分布
5. 特殊变量
nargin、varargin:用于函数传递参数的。
6. 多项式相关的函数
polyval:多项式求值
roots:求根
poly:不知道干什么的
conv:多项式相乘
deconv:多项式相除
polyder:多项式微分
polyint:多项式积分
mkpp、ppval:分段式多项式,很有趣
还有强调了计算时因为有限位的表示而产生的各种错误:
a. 截断错误
b. Round-off Error
c. Overflow/Underflow
d. Negliable Addition:产生的原因是因为浮点数在计算时先对阶(即先确保阶数相同),然后计算
e. Lost of Significance:产生的原因是两个数非常相近,然后坐减法
以后接触过这些概念,但是没怎么具体的实例,其实这些就是使用计算机参与数值计算时需要考虑的问题。
还强调使用迭代法计算,而不是直接计算,这样可以提高计算的精度。
其他命令
ezplot:对于断点的处理比较好
find
fprintf,sprintf:格式化输出
format:默认输出格式控制
hold on,hold off:画图的时候比较有用,可以在一个图上画上好几条线
view:3D图视角的调整
meshc、meshz:对mesh函数的扩展
quad:求积分
\,/:left division和right division,与least-squre还是有点区别的