Matlab 一个挺重要的工具,对于工科生。可惜我们是到了大二上才开了这门课,实践的机会之前也相对较少,授课的老师也除了念PPT还是念PPT,到头来收获少之又少。不过还在这学期开了《数理方程》与《信号系统》,期间有对matlab的操作,那就再来补一波落下的Matlab吧!
数组运算与矩阵运算
matlab
的*
和.*
对于普通的数字运算当然没什么区别,但是对于两个都是矩阵运算就不一样了!*
是对两个矩阵进行矩阵运算,而.*
是对两个矩阵进行数组运算(对应单元相运算) 同样/
和./
也是需要注意!
meshgrid函数
- meshgrid是MATLAB中用于生成网格采样点的函数,用两个坐标轴上的点在平面上画格。
- 通常meshgrid是mesh前必须用的函数,因为先把坐标3维网格化,才能画三维图形哇。
- 关于meshgrid的理解还可以这样想,就是对各个时间点拉开,放到一幅图上看!
%小例子
x=-2:0.01:4;y=x;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
ii=find(Z>4);
Z(ii)=NaN;
mesh(X,Y,Z)
size与length区别
- size是返回行数、列数、页数,缺省情况返回行数。
- length返回一个数据,行数和列数中的最大值!
- 这个用的比较多的感觉就非求数组长度莫属了,通常求取一个非空数组A的方法有:
①:numel(A) ② length(A(:)) ③ size(A,1)*size(A,2)(这个就是行数乘以列数)
plot函数
plot
函数绘制,plot(x, y)
假设x
是[m n]
的矩阵,y
是[j k]
的矩阵。要想使用plot
函数首先得保证n = k
。 然后行数呢,如果m < j
…算了让m=1
吧.,这样好说…..同时呢,j是小于n的,。这样的话,绘制的时候横坐标是x
这个一维矩阵的各个值,然后分别对应着y的每一维!假如 j>= n 绘制的时候横坐标是x这个一维矩阵的各个值,然后分别对应着y的每一列!
符号变量
sym syms
的使用- 符号变量算起来应该是最实用的的吧,对于我现在使用的水平。(雾,大神轻喷)
- syms 是定义单符号变量常用,,sym是创建表达式常用
>> syms a b x
>> A = [a/sin(x), cos(x); b-x/5, a*sin(x)]
>> sym('[a/sin(x), cos(x); b-x/5, a*sin(x)]')
级数求和symsum函数
symsum
是级数求和symsum(表达式,变量,n起始值,n末值)
变量代换subs函数
subs(符号矩阵,要被替换的元素,替换成的元素)
更符合书写的pretty函数
pretty(符号表达式)
准印刷格式输出
泰勒级数taylor展开函数
taylor(表达式,项数n,变量名,在某一点展开)
- 求取极限函数limit
limit(表达式,变量,趋近于何值,左极限还是右极限)
求导函数diff
diff(表达式,变量,几阶导数)
积分函数int
int(表达式,变量名,积分上限,积分下限)
边界设定函数axis
axis([xmin xmax ymin ymax])
确定xy的边界图形说明函数legend
- legend最后有一个参数,-1表示写到图外,0表示写到图的最佳位置,1234分别对应象限
隐函数绘图ezplot
- ezplot(表达式,取值范围) 隐函数绘图
空间网格图
- ezmesh - 空间网格图
空间曲面图
- ezsurf - 空间曲面图
subplot函数以及title函数
subplot(m,n,x);
subplot
是用在绘图之前,m行n列图,位于其中的第x个(横着数)title('××...');
单个图就是标题了,多个图比如使用subplot
后就是分标题了。注意,title
函数是绘图完毕后使用!suptitle('××...');
subplot
后的总标题。
figure函数
- 直接写一个
figure
表示创建一个图形,所有的属性为默认值。 figure
还可以figure(‘图像编号’,’这个figure标题’);
- 直接写一个