目录
1.作数学运算
1.函数查找方法:
1.matlab online help
2.右上角 搜索框
3.command window 输入 help 加内容
2. 常用函数
1.开根号:sqrt()或^0.5
2.自然对数log(),对数logn()
3.以e为底的指数:exp()
4.e用exp(1)表示
3.变量
1.直接赋值就能声明,不能以数字开头
2.默认为double
3.who查看所有变量
4.whos查看具体信息
5.关键字:ans,i,j(虚数),inf(正无穷),eps,nan(未定式),pi
6. 输入iskeyword,
{'break' }
{'case' }
{'catch' }
{'classdef' }
{'continue' }
{'else' }
{'elseif' }
{'end' }
{'for' }
{'function' }
{'global' }
{'if' }
{'otherwise' }
{'parfor' }
{'persistent'}
{'return' }
{'spmd' }
{'switch' }
{'try' }
{'while' }
7.函数和变量重名会优先用作变量,用clean+变量消除变量,clear消除所有变量
4.format修改精度
short,long,shortE,longE,bank(两位),hex(十六进制),rat (分数)
5.分号
句尾加分号不会立即显示结果
6.小技巧
1.按方向键上显示历史语句
2.clc清屏
2.矩阵
1.输入
中括号包起来,空格或逗号表间隔,分号表换行
2.索引
>> a=[1 21 6 ;5,17,9;31 2 7]
a =
1 21 6
5 17 9
31 2 7
第一类:不含逗号
只输入一个数字:矩阵元素按从上到下,再从左到右的顺序依次编号
>> a(8)
ans =
9
小括号,中括号,多个数字:按编号取,组成行向量
>> a([1 3 5])
ans =
1 31 17
小括号,中括号,多个数字,加分号:按编号取,组成矩阵
>> a([1 3;1 3])
ans =
1 31
1 31
第二类:含逗号
坐标形式,(行,列)
>> a(3,2)
ans =
2
第一个中括号取行,第二个中括号取列,交叉点构成子式
>> a([1 3],[1,3])
ans =
1 6
31 7
第三类:取一行或一列
a(行,:)或a(:,列),冒号表示这一行或列的所有
3.矩阵操作
1.[起始:间隔:结尾] 创建一个矩阵的简洁方式,去掉中括号创建行向量
冒号也用来创建字符串中的连续字母
2.删除矩阵某行或列:a( : )=[ ]
3.增广矩阵c=[a b]或c=[a ;b]
4.矩阵运算
1.矩阵与数字
A+-a:每个元素加减a
A*/a:每个元素乘除a(点乘点除相同)
A^a:矩阵a次方
A.^a:矩阵元素a次方
2.矩阵与矩阵
A':转置
A+-B
A*/B
A.*./B :对每个对应元素进行乘除
5.特殊矩阵
eye(n)
zeros(n1,n2)
ones(n1,n2)
diag([ ])
rand(n1,n2)
linspace(x1,x2,n)从x1到x2取n个等间距的点
6.矩阵功能
max
min
sum
mean
以上都是对每一列单独操作,sum(sum())是找矩阵最大值
sort每一列从小到大排序
sortrows按第一列大小对行重新排序
size矩阵的行和列数
length矩阵长度(即行数或列数中的较大值)
numel()返回数组中元素的总数
find(A==a)找矩阵中等于某值的位置
find函数
1.B=find(A),返回A中非零数的编号
2.[X,Y]=find(A),返回A非零的行和列
3.B=find(A==x),返回所有等于x的位置的编号
4.[X,Y]=find(A==x),返回行列
5.k=find(条件,n),返回满足条件的非零的前n个坐标
X = magic(4);
disp(X);
# 每行每列以及对角线的元素之和相等
# 阶数n必须是大于等于3的标量
k = find(X<10,5);
disp(k);
6.k = find (X, n, direction)
其中 direction 为 '
last '
,查找与 X
中的非零元素对应的最后 n 个索引。direction 的默认值为 '
first'
,即查找与非零元素对应的前 n 个索引。
X = [0 0 0 0 0 0;
3 32 7 21 23 25;
0 0 0 0 0 0;
8 28 33 17 10 15;
0 0 0 0 0 0;
4 36 29 13 18 11];
k = find(X,4,'last'); %查找后四个非零值
disp(k);
%find
% 30
% 32
% 34
%36