列出内存中的变量目录:whos
对函数功能和用法不熟悉:help
显示变量,阵列,文本:disp
清楚工作空间中的变量:clear
Grid on:窗体的轴显示坐标网格线
统计B矩阵中,大于A的元素个数:sum(sum(B>A)
第一章:
Matlab:Matrix Laboratory
matlab基本功能:数值计算,符号计算,绘图,编程,GUI开发
Matlab特点:脚本式解释语言,平台无关性,语法规则简单,提供了大量的计算函数
clc:清除指令窗口的显示内容
clear:清除matlab工作空间中保存的变量
clf:清除matlab图形窗口中的显示内容
who或whos:显示Matlab工作空间中的变量信息
Help :知道具体指令但是不知道怎么使用
Lookfor :想解决某个问题,但是不知道MATLAB有哪些指令可用
分号:不显示结果指令的结尾;数组行分隔
冒号:生成一维数组;作下标表示该维全部
黑点:在数组运算中的作用
逗号:函数输入量分隔;数组元素分隔
pi:圆周率 Inf:无限大 NaN:非数
程序文件:即M文件,其扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。Matlab的各工具箱中的函数大部分是M文件。
数据文件:即MAT文件,其扩展名为.mat,用来保存工作空间中的数据变量。数据文件可以通过在命令行窗口中输入“save”命令生成。
可执行文件:即MEX文件,其文件的扩展名为.mex,由Matlab的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多。
第二章:
一维数组的创建
逐个元素输入法 a=[1, 2, 3]
冒号生成法 a=1:1:3
定数线性采样法 linspace(1,3,3)
二维数组的创建
逐个元素输入法(;和,)
a2=[1 2 3;4 5 6;7 8 9]
MATLAB函数法
zeros(m,n):产生m×n全0数组
ones(m,n): 产生m×n全1数组
eye(m): 产生m×m单位数组
rand(m,n):产生0~1间均匀分布的随机m×n矩阵。
拼接方式:
a=[1, 2, 3;4,5,6]
b=[7,8,9;10,11,12]
横向拼接:[a,b] 123789
纵向拼接: [a;b] 123/n456/n789/n
编址:全下标和单下标
数组A=[ 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15 ]
则 A(2,3)= 8 ,A(2)=6
使用函数进行转换单双下标
sub2ind([3,5],2,3)
% 3×5数组中,第2 行第3列元素的单下标
[a,b]=ind2sub([3,5],8)
% 3×5数组中,第8个元素的全下标
数组元素寻访:
>>A=[1:3:16;2:3:17;3:3:18]
>>A1=A(:,2:3)
A1 =
4 7
5 8
6 9
>>r=[2,3], c=[1,5];
A2=A(r,c) %寻访A的第2、3行和1、5列交叉的元素组成的子数组
A2 =
2 14
3 15
>>ind=[1,3,18], %生成数组ind,作为寻访A的单序号
A2=A(ind), %寻访A的第1、3和18号元素并组成子数组
A3=A(ind’)
A2=
1 3 18
A3 =
1
3
18
>>A4=A(1:3)%寻访前3个元素组成的子数组
A4 =1 2 3
>>A5=A(3:-1:1)%由前3个元素倒序构成的子数组
A5=3 2 1
A6=A(15:end)%第15个及其后所有元素构成的子数组
函数end作为参数使用,返回最后一个元素的下标
A6 = 15 16 17 18
数组操作指令:
[a,b]=size(A) 测量数组A的大小,a为行数和b列数
c=length(A) 测量数组A的长度(一维数组的元素个数)
c=find(A) 找出数组A中非0元素的位置,输出单序号
[a,b]=find(A) 输出非0元素的全下标
reshape函数:总元素数不变的前提下,改变各维的大小
Am=magic(3) %生成3*3的数组
Aa=reshape(1:12,3,4) %生成3*4的数组
B=2*ones(3,4) %生成3*4的全2数组
删除数组的某列和行
A=reshape(-4:5,2,5)
A =
-4 -2 0 2 4
-3 -1 1 3 5
A(:,[2,4])=[]
A =
-4 0 4
-3 1 5
使用“单序号”可以删除单个元素
>>A(2:4)=[]
第三章:数值计算
例6 求a(x)=x2+2x+3; b(x)=4x2+5x+6两个多项式的积
c = (x2+2x+3)(4x2+5x+6)
>> a=[1 2 3];b=[4 5 6];
>> c=conv(a,b)
c = 4 13 28 27 18
>> p=poly2str(c,'x')
p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18
例7:a(x)=x2+2x+3; b(x)=4x2+5x+6两个多项式的商
>> a=[1 2 3];b=[4 5 6];
>> [div,rest]= deconv(a,b)
div =
0.25
rest =
0 0.75 1.5
【例】建立多项式 f(x)=4x3-3x2+2x-5,并求出f(x)=0时的根及x=3、x=3.6的值
>> P=[4,-3,2,-5];
>> x=roots(P)
x =
1.2007
-0.2253 + 0.9951i
-0.2253 - 0.9951i
>> x=[3,3.6];
>> f=polyval(P,x)
f =
82.0000 149.9440
第四章:
符号矩阵的创建:
方法一:A=sym(‘[a,b;c,d]’)
A=
[ a, b]
[ c, d]
方法二:
syms a b c d
B=[a,b;c,d]
B =
[ a, b]
[ c, d]
求A矩阵的特征值
>>syms a11 a12 a21 a22
>>A=[a11,a12;a21,a22];
>>det(A) %计算行列式值
>>A’ %计算共轭转置
>>eig(A) %计算特征值
极限:
>> syms t k
>>ss=sin(k*t)/(k*t)
>> lt=limit(ss,t,0)
lt =1
>> syms k x
>>ss= (1-1/x)^(k*x)
>> lx=limit(ss,x,inf)
lx =1/exp(-k)
求导:
>> syms x t
>> f=[t^3-exp(x),t/x;t*cos(x),log(x)]
>> dfx=diff(f,x,1)
>> dft2=diff(f,t,2)
>> dtx=diff(diff(f,t),x)
求和:
>> syms x
>> ss=int(x*log(x),x,1,10)
级数
>>syms n
>>f=1/(2*n-1)
>>r=symsum(f,n,1,100)
>>double(r)
第五章:图形
二维:
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加图形标题
xlabel('Variable X'); %加X轴说明
ylabel('Variable Y'); %加Y轴说明
legend('y1', 'y2') %加图例
三维:
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
[X,Y]=meshgrid(x,y)
Z=sin(Y)*cos(X);
surf(X,Y,Z); % mesh(X,Y,Z);
colormap(hot)
xlabel('x-axis') ;
ylabel('y-axis') ;
zlabel('z-label');
title('3-D surf');
第六章:
M文件的两种形式(区别)
脚本文件(Script File):通常用于执行一系列简单的 MATLAB 命令,运行时只需输入文件名字,MATLAB 就会自动按顺序执行文件中的命令;
函数文件(Function File)。可以接受参数,也可以返回参数,在一般情况下,用户不能靠单独输入其文件名来运行函数文件,而必须由其他语句来调用,MATLAB的大多数应用程序都以函数文件的形式给出。
全局变量使用示例:
1. 先建立函数文件wadd.m,该函数将输入的参数加权相加。
function f=wadd(x,y)
global a b
f=a*x+b*y;
2. 在脚本文件:
global a b
a=1;
b=2;
s=wadd(1,2)
计算级数:S=1+2+22+23+···+263=
s=0;
for i=0:63
s=s+2^i;
i=i+1;
End
disp(s);