matlab探索

运算基础

clear

clear x,y,z

exp(a) e的a次方

矩阵基础

a’ 转置

inv(a) 逆矩阵

.* 矩阵对应元素相乘法

a.^3 矩阵a的每个元素乘三次方

A = [a,a] 把两个矩阵横着合为一个

A = [a; a] 把两个矩阵竖着合为一个

A = magic(4) 四维魔幻方阵

A(4,2) 输出矩阵中某元素

A(1:3,2) 矩阵第一行到第三行的第二列元素

A(3,:) 第三行的所有元素

limit求极限

limit(expr,x,a) 符号表达式中x趋近于a时的双向极限

limit(expr,a) 表达式中默认变量趋近于a时的双向极限

limit(expr,x,a,’right’) x从右边趋近于a时的极限

find

ind = find(X, k) or ind = find(X, k, ‘first’) X矩阵中的元素,从头开始查找,查找到第一个值为K的元素时,返回索引值

ind = find(X, k, ‘last’) 在X中查找,从后往前找,找到第一个值为K的元素,并返回索引值

[row,col] = find(A>10) 在矩阵中找大于10的

[row,col] = find(X) 在矩阵中找x

用于创始化变量的 MATLAB 函数

zeros(n)创建一个 n×n 零矩阵
zeros(n,m)创建一个 n×m 零矩阵
zeros(size(arr))创建一个与数组 arr 的零矩阵
ones(n) 创建一个 n×n 元素全为 1 矩阵
ones(n,m)创建一个 n×m 元素全为 1 矩阵
eye(n) 创建一个 n×n 的单位矩阵
eye(n,m) 创建一个 n×m 的单位矩阵
length(arr) 返回一个向量的长度或二维数组中最长的那一维的长度

size(arr)返回指定数组的行数和列数

文件

x=[0];save x.dat x -ascii”将会创建一个文件 x.dat

load filename

矩阵乘除

数组右除法A./B

数组左除法 A.\B

矩阵右除法 A/B

矩阵左除法 A\B

数组指数运算 A.^B

数学函数

abs(x) 计算 x 的绝对值

字符转换函数
char(x) 将矩阵中的数转化为字符,矩阵中的元素就不大于 127

double(x) 将子符串转化为矩阵

int2str(x) 将整数 x 转化为字符串形式

num2str(x) 将带小数点的数转化为一个字符型数组

str2num(x) 将字符串转化为数

查询自己

画图

给图增加标题和坐标轴标签将会用到 title, xlabel, ylable 函数

grid on 代表在图象中出现网格线,grid off 代表去除网格线

如:

1
2
3
4
x=0:1:10;
y=x.^2-10*x+15;plot(x,y);
title ('Plot of y=x.^2-10*x+15'); xlabel ('x');
ylabel ('y'); grid on;

创建一个 TIFF 格式的当前图象的图片,并保存在 一个叫 my_image.tif 的文件中

1
print –dtiff my_image.tif

联合作图:

1
2
x = 0:pi/100:2*pi; y1 = sin(2*x);
y2 = 2*cos(2*x); plot (x,y1,x,y2);

关于自定义图像:
第一方面指定轨迹的颜色, 第二方面指定符号的类型, 第三方面指定线的类型.(可以把重要的点突出,或者某一段是实线其他是虚线)

制作图例:
如:显示了 f(x)=sin2x 和它的微分函数的图象

用黑实线代表 f(x),用红虚线代表它的微分函数。 图中有标题,坐标轴标签和网格线。

1
2
3
4
5
6
x=0:pi/100:2*pi;
y1=sin(2*x);
y2=2*cos(2*x);
plot(x,y1,'k-',x,y2,'b--');
title(' Plot of f(x)=sin(2x) and its derivative'); xlabel('x');
ylabel('y'); legend('f(x)','d/dx f(x)') grid on;

对数尺寸:

打印数据既可以用对数尺度,也可以用线性尺度。在 x,y 轴上使用这两种尺度的一种或两种 可以组合形成 4 种不同的坐标系。每一种组合者有一个特定的函数。
1.plot 函数的 x,y 均用线性尺度
2.semilog 函数 x 轴用对数尺度,y 轴将用线性尺度
3.semiloge 函数 x 轴用线性尺度,y 轴用对数尺度
4.loglog 函数两坐标轴将会都用对数尺度。

在 legend 命令中 pos 的值不同使图像位置不同,如0,1,2

0是自动寻找最佳位置,至少不与数据冲突

ischar(a) a 是字符数组返回 1,否则返回 0
isempty(a)a 是空数组返回 1,否则返回 0
isinf(a)a 是无穷大,则返回 1,否则返回 0
isnan(a) a 不是一个数则返 1,否则返回 0
isnumeric(a) a 是一个数值数组返回 1,否则返回 0

在同一坐标系内画出多个图象

x = -pi:pi/20:pi;
y1 = sin(x);
y2 = cos(x); plot(x,y1,'b-');
hold on; plot(x,y2,'k--');
hold off;
legend ('sin x','cos x');