matlb总结

来源:互联网 发布:阿里云代备案管理系统 编辑:程序博客网 时间:2024/05/17 01:51

matlb自己总结(基础篇)
(1)help 命令
可以查其用法
(2)“;”的用法
不加“;”显示结果
加“;”时不显示结果
(3)数列之间的运算要加"."
(4)在matlb中函数总是以离散数列形式给出的
(5)常数:
pi=圆周率;
j=i=虚单元;
ans=计算机结果的缺省变量名
(6)数列:a=[1 5 8 0 2]
矩阵:a=[1 5 8;0 8 4]
改变数列的某一个项的值:a(1)=11,则a=[11 5 8 0 2]//注意不是a(0)

一:matlb的序列的表示方法
1:枚举法
eg a=[0 1 2 3 4 5 6 7 8 9]
2:已知首相尾相,与等差
eg a=0:1:9
或者简写成 a="0:9"(等差1可省略)
3:已知首相尾相,与序列总数
eg a=linspace(0,9,10)
应用:x轴可写为 x=[0:n-1]
二:画图
1:画出离散图形:stem
eg stem(y) 注意,此时的x由系统自定。
stem(x,y) 注意,x与y数列的点数一定要相同。
2:画出连续图形:plot
eg plot(x,y)
plot(y)
3:把多个图放在一块:subplot(子图)
eg subplot(3,1,2)//一共三行一列,此图在第2个
eg subplot(3,2,5)//一共三行两列,此图在第5个
4:指定图形标题栏:title('')
eg title('频谱图') 注意,要加''
指定x(自变量)轴标注文字:xlabel('')
指定y(自变量)轴标注文字:ylabel('')
5:坐标轴的范围的刻画:axis[x1,x2,y1,y2]
以坐标纸方式显示: grid
应用: eg x=[0:9]; 定义x轴
y=sin(2*pi/30*x)./x; 定义y轴
subplot(3,1,1); 在适当位置处画出一个空白的图像
plot(x,y); 填充此图像
title('一个例子'); 为此图像加标识
6:把多个图形画于同一个坐标中
eg plot(t, y, t, y0, t, -y0)
plot(t, y, '-r', t, y0, ':b', t, -y0, ':b')//'-r'表示红色线;':b'表示虚蓝线
如果后续图形也要画在当前的同一图形窗内,并且希望二条线同时存在,可输入:hold on;hold off关闭。
7:不同的线的画法
具体的直角坐标图绘图格式:plot(x,y,'cm')
式中x为自变量,y为因变量,c为颜色标记,m为线型标记符

b 蓝色 g 绿色 r 红色 c 青色 m 洋红 y 黄色
k 黑色 w 白色 . 小黑点(线型)o 小圈号 x 叉号
+ 十字号 * 星号 s 方形 d 菱形 v 三角形
三角形(向上) < 三角形(向左) > 三角形(向右) p 五角星
h 六角星 - 实连线 : 虚点连线 -. 点划连线 -- 双划连线
注意:先写subplot,再写plot,最后为title axis等
figure窗口不消失:grid on;
三:提取性质
1:提取出数列的长度:length(数列)
四:运算
数列之间的运算要加"."


1:四则运算:+ ;- ;* ;/ ;以及数列之间的运算:.+ ;.- ;.* ;./;
注意当分母为一个数列时,只能用./不能用/
取余运算:mod(a,b)
Eg1
mod(13,5)
ans =
3
Eg2
mod([1:5],3)
ans =
1 2 0 1 2


取整:
Fix(a)
2:三角函数:sin();cos();tan();cot();
3:幕运算:^以及数列之间的运算:.^
指数运算:exp()
应用:eg n="0:50";
x="-25:25";
W=(pi/12.5)*k; //w=(2*pi/25)*k
y=(exp(-j*pi/12.5)).^(n.*x);
eg x="-25:25";
w=(pi/12.5);
y="exp"(-j*w*x);//所得为一系列复数
注意有数列时则一定用.^不用^
eg:a=0:9;
b="a".^5;
c="5".^a;
(自己记:符号两边不对称的,一旦有一个数列,则用.)
4:复数相关
abs()复数大小(幅频特性)
angle()复角(相频特性)
real()实部
imag()虚部
5:累加
一维数组的话直接sum(b)
要叠加行或列用sum(b,1)或sum(b,2)
二维数组要叠加所有元素用sum(b(:))
五:语句
1: if——else语句
if 条件
运行语句1;
运行语句2;
运行语句n;
else//可以省略
运行语句1;
运行语句2;
运行语句n;
end


也可以
if
。。
else if
。。
else
。。
end
end
2: for循环语句
for 数列//多用0:n-1去执行n次;或应用length取长度
运行语句1;
运行语句2;
运行语句n;
End
3:while 逻辑
语句1;
语句2;
End
六:信号的产生
1:0矩阵的创立:zeros(m行,n列)//行是一的矩阵也就是一个序列
2:1矩阵的创立:ones(m行,n列)//行是一的矩阵也就是一个序列
应用:单位抽样序列:[1 zeros(1,n-1)] ====[1 0 0 0 0 0 0 0...](一共n个数字)
单位阶跃序列:ones(1,n)==[1 1 1 1 1 1 1 …….]
七:编写*.m文件,自定义的函数
过程:
书写方法:
定义为*.m文件。
多要利用循环,分支语句。
运行方法:
进入含有自定义函数的*.m文件。
在命令行里键入:m文件的名字,回车。
Eg:
clear all;
close all;
clc;
cd lib


函数:
书写方法:
和过程相似,但要有:function 返回值=函数名(参数1,参数2,参数3。。。。)
主意:可以不定义返回值,参数n。m文件名=函数名
局部变量:
全局变量:利用global命令
Eg:
global num;
num=1000;


运行方法:
与一般的函数一样,返回值,参数n在函数外部定义。
Eg: function re="text"(f,n)
w=2*pi*f;
t=0:n-1;
re=sin(w*t);
plot(re);
多值返回[ra,rb,rc,..]=………
或者在m编译器中debug>>run(调试程序)

0 0
原创粉丝点击