现在的位置: 首页 > 综合 > 正文

matlab学习笔记

2018年03月29日 ⁄ 综合 ⁄ 共 2529字 ⁄ 字号 评论关闭

matlab学习日记

1基本操作
clear varname  清除varname变量
clear all  清除所有数据
clc  清屏
help xxx   查询xxx的帮助文档

2.3数组操作
' 数组转置
矩阵行用; 分割 A=[1  2; 3 4]

metric(2,:)    表示第二行所有元素
metric(2,A:B)  表示第二行从A到B的函数
metric(2,A:end) 表示第二行从A到尾的元素
可以直接对metric选取来进行局部复制来修改metric
E.G.    metric(2,A:B)= k     k一个长度为B-A+1的行数组

magic(n)   生成一个n*n的数组 由1-n^2的数字组成  每行 每列和对角线的和相同
magic(4)
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
    
linspace(A,B[,N])  生成A到B的项数为N的等差数列  不写N 默认为100

logspace(A,B[,N])  生成10^A到 10^B 项数为N的等比数列 不写N 默认为50

A:B:C  生成 A开始以B为间隔 不超过C的等差数列
1:2:8
 1     3     5     7
 
 reshape(source,A,B)  将原数组转化成A*B的矩阵 按行一次读取源数据
 
 size(metric)  返回数字的维信息 以数组的格式
 
 关于时间的系统保留变量
 date       ->10-Jan-2015
clock     ->
ans =

   1.0e+03 *

    2.0150    0.0010    0.0100    0.0210    0.0070    0.0202
now      ->   7.3597e+05
today ->  ...
year(now)         2015
month(now)       1
...以此类推

2.4算数运算符
+ - * /   \ (mablab特有 表示右边除以左边)  ^    pow(A,B) A^B
对于矩阵+ - * /  \ ^    inv(A)  求 A的逆矩阵(A/B = A*inv(B))

对于数组  在所有操作符加点用来与矩阵区分  A .- B   表示 A和B中对应位置的元素相减

矩阵与标量的坐标  的结果是标量与每一个元素的操作
A =

     2     3
     4     6
>> A+3

ans =

     5     6
     7     9
    
标量不能与数组进行 .+之类的操作

2.5- 2.6 常见的运算函数
数学三角函数   sin cos等   默认参数是弧度值  接受pi/6  之类的参数  不接受角度值
    反三角函数也有 后面加h  sinh

log   exp  log2  log10
min max  mean  (对于矩阵是按照列操作的)
sum prod 求和求积   sum(metric,2) 表示按行求和  

conv可以对多项式展开  多项式用 行数组表示  e。g。   x^2+1   == [1 0 1]

负数  虚数单位 用i  来表示(输入i , j  都表示 i)
real(1+2i)=1  imag(1+2i)=2
abs(1+2i)=根号五
(1+2i)'  或者conj(1+2i) 共轭
angle(1+2i)复角

A:METRIC  B:METRIC
cross(A,B) 叉乘
dot(A,B)  点积 内积
compan(A)  A的伴随矩阵
det(A)   A行列式的值
inv(A)   A的逆矩阵
rank(A)       求制
eig(A)        特征值
trace(A)     矩阵的ji  主对角线元素之和

2.7字符串及其操作
double('A')   输出A的ascll码
char(65)    输出ascll码对应的字符
str2num('97')  如其名  
num2str(97)    num2str(92,pre)  后面表示的是精度值
upper
lower
str5=['a':'z']

2.8字符串操作
strcat   字符串凭借  strcat(‘a’,‘b’)    -> 'ab'
                     A='ab'  strcat('ac',A')      ->aca
                                                    acb
strcmp   字符串比较  strcat(A,B[,n])    比较A B 前N位是否相同  不同返回0  否则返回1,不写N 默认全部

findstr  字符串查找  strcat(A,B)    在A中查找B出现的位置  以矩阵的形式返回所有位置

strvcat  将字符字符串拼成矩阵   strvcat(A,B,C)   ->A
                                                   B
                                                   C
                                                   结果将忽略‘’  空字符串

2.9-2.10 简单的绘图命令
plot(x,y(,x,y))    根据x  y 定义的坐标画图  可以定义线性 点形  颜色等(如果不需要线 可以传进去'.'来得到散点图)
e.g
clear all,clc
code_length=20;
N=1:code_length;
rand('seed',0);
x=sign(rand(1,code_length)-0.5);
for i=1:20
    s((1+(i-1)*800):i*800)=x(i);
end
figure (1)
plot(s,'.')
hold on
end
axis([0 16000 -1.2 1.2])

xlabel(str)  x轴名称
ylabel(str)  y轴名称
grid on/off  显示关闭网格
hold on      来保持当前图像 (为了与下一个画的图在同一张图上)
legend(str,str,...)  添加图例
axis([1 2 ; 3 4])   定义x轴 y轴范围    axis equal x轴y轴总长度变成相同

2.11 图形窗口菜单和对数坐标
semilogx(x,y) 把x去以10为底的对数 画图
semilogy(x,y)
loglog(x,y) 对x y 都取对数

抱歉!评论已关闭.