matlab常用功能笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、ctrl + c跳出死循环
2、zeros()、rand()、eye()、ones() 、rem(m,2)取余数、magic()
3、size(a) ;% a的行数与列数
4、length(a) ;% a中行数与列数最大值
5、str( ) ; 表示字符
6、sprint(‘%d’,a) ; 其中(%d表示数字型,%s表示字符串型,a表示输出a的内容)。

把a赋值给%d
7、cat函数:合并数组
扩展结果=cat(1,数组1,数组2,......);cat(2,数组1,数组2,......),1代表列优先,2代表行优先
8、vertcat函数:垂直合并
扩展结果=vertcat(数组1,......)
9、horztcat函数:水平合并
扩展结果=horzcat(数组1,......)
一、块操作
1、repmat(数据a,m,n)
数组b=repmat(数组a,m,n)
2、数组c=blkdiag(数组a,数组b):数组对角拼接,空的数组用0表示
3、数组c=kron(数组a,数组b)
二、索引扩展
1、区间裁剪:冒号裁剪b=a(m:n,i:j),选数组a的m行到n行,i列到j列的数组b
2、区间裁剪:等差裁剪b=a(m:k:n,i:k:j),选数组a的m行到n行,i列到j列的数组b,引入等差序列
3、区间裁剪:冒号全部裁剪b=a(m:n,:),选数组a的m行到n行,所有列的数组b
三、删除
1、数组(要删除的行,:)=[ ],也可用类似方法替换成其它的距阵
四、转置
1、实数转置采用操作符‘或.'
采用函数transpose或ctranspose
2、复数转置非共轭转置.'或transpose
共轭转置’或ctranspose
3、复数生成:如a=rand(3,4)+rand(3,4)*i
五、翻转
1、上下翻转:结果数组b=flipud(数组a)
2、左右翻转:结果数组b=fliplr(数组a)
3、flip函数
结果数组b=flip(数组a)相当于b=flipud(a)
结果数组b=flip(数组a,1)相当于b=flipud(a)
结果数组b=flip(数组a,2)相当于b=fliplr(a)
4、rot90函数结果数组b = rot90(数组a,k),其中按逆时针旋转90*K度,k默认为1
六、数组的尺寸调整
1、结果数组b=reshape(数组a,m,n),将数组a调整为m行,n列,总规模不变
七、数组基本运算
1、数组与标量运算
加法:结果数组b=数组a + 5
减法:结果数组b=数组a-5
除法、乘法一样,把标量看成与数组a一样的数组后进行运算
2、乘方运算结果数组b=数组a ^2,相当于a*a
3、除法函数运算A/B 相当于A*inv(B)或A*pinv(B)
八、逻辑运算
1、或|、与&、非~
2、真用true创建,假用false创建
3、真用1表示,假用0表示
4、数组逻辑类型:a=true(m,n),a=false(m,n)
5、真用非0值表示,假用0值表示
6、“或”运算用or,|。

例如or(a,b)、a|b
7、“异或”用xor表示
8、any:B=any(A,dim),dim用1表列,2表行
9、all:与any用法类似
10、&&:第一个运算符为假时,返回假;必须是标量
11、||:第一个运算符为真时,直接返回为真;必须是标量
九、关系运算
1、< > == ~= =< >=
注:==为判别式,=为赋值
十、逻辑结构
1、顺序结构
2、if选择结构
1) if 逻辑表达示
语句
End
2) if 逻辑表达示
语句
else
语句
end
3) if 逻辑表达示1
语句1
elseif逻辑表达示2
语句2
else
语句3
end
3、switch语句
4、循环结构
1) for循环(有限次数循环):
赋初值
for 循环变量=开始值:步长:终止值例如for i=1:k:n 语句体输出
end
2) while循环(无限次数循环)
赋初值
while 关系表达示例如while a<100
语句
end
(直到while表达示不成立就退出)
5、continue循环
执行本次循环,进入下一轮循环
6、break循环
结束循环
十一、函数
1、line函数:画直线
line(x,y)
2、plot函数:画多线
plot(x)、plot(x,y)、plot(x1,y1,x2,y2,......)
3、polar函数:极坐标下绘图函数
polar(theta角度,rho半径)
十二、数据线型格式
1、plot(x,y,‘线的格式’),线的格式有‘-’、‘--’、‘-.’、‘:’
2、plot(x,y,‘颜色’),颜色有r、b、m......
3、plot(x,y,’线格式和线颜色‘),例如plot(x,y,'--r')
4、plot(x1,y1,’线格式和线颜色‘,x2,y2,’线格式和线颜色‘),例如plot(a,b,'--r',a,c,':b')
十三、数据点格式
1、plot(x,y,‘数据点的格式’),点格式有+、-、*、o......
2、plot(x,y,‘数据点的格式和线型和颜色’)
3、plot(x1,y1,’线格式和线颜色和数据点格式‘,x2,y2,’线格式和线颜色和数据点格式‘),例如plot(a,b,'--r+',a,c,':b-')
十四、曲线其它格式
十五、子图绘制
1、subplot(行数,列数,第几个图),plot(x,y,’线格式和线颜色‘)
例如subplot(2,1,1),plot(a,b,'ob--')
subplot(2,1,2),plot(a,c,':r^')
2、叠加绘图模式
hold on 表示开
hold off 表示关
在绘图时,默认会将上次图覆盖,添加hold on可保留上次图一起显示
例如plot(a,b,'ob--');
hold on;
plot(a,c,':r^');
十六、设置坐标轴
1、范围:axis([x轴范围,y轴范围]),例axis([-10 100 0 50]),x范围(-10,100),y范围(0,50)
2、比例:
3、刻度:set(gca,’xtick’,-1:0.5:100); % x轴在(-1,100)范围内每隔0.5画点十七、对数坐标
1、semilogx :X轴使用对数
2、semilogy:X轴使用对数
3、loglog:X与Y轴使用对数
十八、双坐标轴
1、[ax,ha,hb]=plotyy(x1,y1,x2,y2),有返回值
然后对返回值进行设置[ax,ha,hb],其中ax(1)为左边标签,ax(2)为右边标签
十九、绘图开关
1、关掉坐标轴axis off
2、关掉图框box off
3、打开网格线grid on
例如plot(a,b),grid on;
二十、图形加标题
1、title(标题,属性名,属性值),例如title('绘图','color','r')
二十一、坐标轴标签
1、例如xlabel('x轴','color','r');
二十二、图例
1、legend(图例说明)
例如plot(a,b,a,c)
legend('1-sin(a)','1-cos(a)'); b=1-sin(a)、c类似
2、标记曲线中某点的位置text(x,sin(x),--->sin(x))
二十三、柱状图
1、竖直方向绘制:bar(x)、bar(x,y),bar(x,y,'stacked')叠加柱状图
2、水平方向绘制:barh(x,y,'stacked')叠加柱状图
二十四、饼状图
1、pie(x)
二十五、直方图
1、hist:统计某数据出现的次数或频率
2、hist(a,分组个数,x轴划分情况)
二十六、三维曲线
1、plot3(x,y,z)
二十七、三维曲线
1、矩形网格
二维曲线:先找到x坐标,然后找到对应的y的值,再对应连起来。

2、三维曲面:先找到(x,y),在找到对应的Z的值,再连起来。

矩形网格图:例如[X,Y]=meshgrid(x,y)
plot(X,Y)
3、三维网格图:mesh(x,y,z)
三维曲面图:surf(x,y,z)
例如x=-10:0.1:10;
y=sin(x);
[x y]=meshgrid(x,y);
z=sqrt(x.^2+y.^2);
surf(x,y,z)
二十八、结构体导读
1、变量或变量名>值
2、创建结构体结构体名.变量名=值或结构体名(1).变量名=值,结构体名(2).变量名=值
3、使用struct函数创建结构体:结构体名=struct(域名1,属性值1,域名2,属性2......)
4、访问结构体:结构体名称
5、访问结构体字段:结构体名.变量名
二十九、元胞数组
1、创建元胞数据是用{ }
2、元胞数组名(指定索引)={元胞}
3、元胞数组名{指定索引} = 元胞内容
4、显示元胞数组:celldisp(元胞数组)
5、显示元胞数组:cellplot(元胞数组)
6、访问元胞数组:元胞数组{下标} 或元胞数组{下标}(下标)
7、访问元胞数组:元胞数组(下标)
三十、创建单行字符串
1、使用[ ]创建单行字符串
例如s1 ='ffff'
s2='aaaa'
s=[s1,s2...]
2、用strcat函数创建单行字符串
strcat(子串1,子串2,子串3,......)
3、使用[ ] 创建多行字符串
例如s1 ='ffff'
s2='aaaa'
s=[s1;s2...],每个子串字符长度要一致
4、使用strvcat函数
strvcat(子串1,子串2,子串3......),此函数不处理空字符
5、使用char函数创建多行字符串
char(子串1,子串2,子串3......)
6、strfind查找字符串函数
strfind(string,pattern),查找字符串string内,是否包含pattern子串7、strrep字符替换函数
strrep(s,s1,s2),在s字符串中,将s1替换为s2
8、数值数组转换为字符数组
s = int2str(n)
s = num2str(n)
9、字符串转换为数值数组
n = str2num(s)
三十一、调用数据进行分析
一步:把外部数据另存为****.mat文件
二步:Load(‘、****.mat’)%****.mat会在工作区显示data数据三步:对data数据进行计算
三十二、数据保存
将.mat数据转化成excel格式输出保存
Xlswrite(‘将要保持excel的文件名’,工作区变量名)
例如xlswrite(‘88’,AGC),将AGC变量数据存为88.excel文件
三十三、sym和syms函数
例如syms x y
x+y==1
x-y==0
[x y]=solve(x+y==1,x-y==0)
三十四、mod(i,x)=n函数
例如mod(i,3)==1,表示i/3的余数为1时的函数表达式
==================三十五和三十六合并分析============================= 三十五、多项式拟合
例如x =[ ]
Y =[ ]
P5 =polyfit(x,y,5) % 5阶式项式拟合函数,在变量区高次到低次系数排列
Y5 =polyval(p5,x)% 5阶多项式计算求值函数
三十六、拟合和数据预测
X=[ ];
Y=[ ];
Plot(x,y) ; %绘制曲线,在曲线对话框的”工具”→”基本拟合”→”查找y=f(x)”→”得到预测”
Eq1=poly2sym(p5);
X0=[ ];
Plot(x0,subs(eq1)); %根据拟合方程,预测之后的数据
% subs(s,x0,x1)为赋值函数,即符号–数据间的转换===================================================================== 三十七、插值(一维插值)
x0=[ ]; %例如x0=1:10
y0=[ ];
Xi=[ ]; %取样比x0更密积,例xi=1:0.1:10,要插值的数据
yi=interp1(x,y,xi); % 默认线性插值
yi=interp1(x,y,xi,’nearest’); % 临近点插值
yi=interp1(x,y,xi,’spine’); % 三次样条插值
yi=interp1(x,y,xi,’pchip’); % 分段三次Hermite插值
yi=interp1(x,y,xi,’V5 cubic’); % matlab中三次多项式插值
三十八、二维插值
x0=[ ]; % 例如x0=1:6
y0=sin(x);
z=fun(x,y);
[x,y]=meshgrid(x0,sin(x));
mesh(x,y,z); % 原始数据作图
xi=1:0.1:6; yi=sin(x) ; [xi,yi]=meshgrid(xi,yi);
z=interp2(x0,y0,z,xi,yi,’nearest’); % 临近点插值
z=interp2(x0,y0,z,xi,yi,’spine’); % 三次样条插值
z=interp2(x0,y0,z,xi,yi,’cubic’); % 三次多项式插值
z=interp2(x0,y0,z,xi,yi); % 默认线性插值
三十九、函数拟合
自定义:custom equation
Polynomial 多项式形式:polyfit拟合
Interpolant插值
Lowess局部加权回归:平滑曲线
非线性拟合:Lsqcurvefit(最小二乘拟合)和nlinfit拟合
四十、plot和fplot函数区别
1、plot针对任意变量x和y都可以绘制,是给定数据点作图
2、fplot是专门画一元函数图像的命令,很多时间数据是范围并不是给定某数据点。

则需要实现定义函数,用function命令定义函数,然后再fplot命令中引用函数的名字。

Fplot比plot图像更平滑。

例如x=1:10; y=sin(x);
plot(x,y) ;
fplot(sin(x),[1,10]); % 注意表达示不一样
四十一、loglog和plotyy用法与plot用法一样。

相关文档
最新文档