一、变量与数据结构等
1、MATLAB语言的变量名规则
① 由一个字母引导,后面可以为其他字符
② 区分大小写 Abc ≠ ABc
③ 有效 MYvar12, MY_Var12 和 MyVar12_
④ 错误的变量名 12MyVar, _MyVar12, MyVar-
2、MATLAB的保留常量
eps, i, j, pi, NaN, Inf, i=sqrt(-1) ,lastwarn, lasterr
3、符号型,sym(A),常用于公式推导和求解析解;
符号变量声明:syms var_list var_props;显示符号变量的任何精度:vpa(A),vpa(A,n)。
正确输入法:
二、矩阵相关
4、动态定维
A=[1,2,3;4,5,6;7,8,0];
A=[[A;[1,2,3]],[1;2;3;4]]
5、用不同的步距生成 间的向量
v1=0:0.2:pi
v1a=linspace(0,pi,50)
v2=0:-0.1:pi
v3=0:pi
v4=pi:-1:0
v5=0:-1:pi
6、子矩阵提取例子
A=[1,2,3;4,5,6;7,8,0];
B1=A(1:2:end,:)
B2=A([3,2,1],[2 3])
B3=A(:,end:-1:1)
7、课堂练习及解答
M=[1:9;3:2:19;0:5:40];
C=M(:,7:-2:3);
C=[M(:,end),C];
D=M(2,:);
D=[D(:,1:3);D(:,4:6);D(:,7:9)];
E=M';
E=E(2:2:end,:)
8、矩阵转置Hermite
B=[1+9i,2+8i,3+7i;4+6i,5+5i,6+4i;7+3i,8+2i 1i];
C=B'
C=B.'
9、矩阵除法的例子
A=[1,2,3,4;7,9,5,6;1,1,9,2]
B=[2;5;1]
X=A\B
10、矩阵的幂指数
A=[1,2,3;4,5,6;7,8,9]
C=A^(1/3),e=norm(A-C^3)
j1=exp(sqrt(-1)*2*pi/3);
A1=C*j1,A2=C*j1^2,e1=norm(A-A1^3),e2=norm(A-A2^3)
11、点运算:
绘图
x=-5:0.01:5;
y=x.^2;
plot(x,y)
12、符号表达式化简:
syms s z;
P=(s+3)^2*(s^2+3*s+2)*(s^3+12*s^2+48*s+64);
P1=simplify(subs(P,s,(z-1)/(z+1)))
latex(P1)
13、取整运算
A=[-0.2765,0.5772,1.4597,2.1091,1.191,-1.6187];
v1=floor(A)
v2=ceil(A)
v3=round(A)
v4=fix(A)
14、逻辑与比较运算实例:
A=[1,2,3;4,5,6;7,8,0];
i=find(A>=5)’;
[i,j]=find(A>=5);
a1=all(A>=5),a2=any(A)=5);
15、for循环与while例子
s1=0;
for i=1:100,s1=s1+i;end,s1
s2=0;i=1;
while(i<100),s2=s2+i;i=i+1;end
s2
更简单 sum(1:100)
16、课堂练习解答
%2-20 课堂练习
s=0;
for i=1:100000,s=s+1/2^i+1/3^i;
end;
更简洁的求解:
i=1:100000;
s=sum(1./2.^i+1./3.^i);
17、综合练习解答
%矩阵替换的课堂练习
M = ones(7,8)
for c = 1:8
for r = 1:7
if r == c
M(r,c) = 2;
elseif ((r-c) == 1)||((r-c)==-1)
M(r,c) = -1;
else
M(r,c) = 0;
end
end
end
M
%求根课堂练习的补充(讲解求根的二分法)
x=-5:0.1:5;
y=x.^3-2.*x-5;
plot(x,y,'linewidth',3);
%求根的课堂练习解答
a= 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*b
x = (a+b)/2;
fx = x^3-2*x-5;
if fx == 0
break
elseif sign(fx) == sign(fa)
a = x; fa = fx;
else
b = x; fb = fx;
end
end
x
15、m函数01
例2-22函数的m文件内容
findsum.m文件下载(请点击右键选择连接另存为)
16、m函数02
例2-25所编写函数
17、M函数部分作业
18、面向对象的程序设计基础
Helloword的课上例子程序(右键链接另存为下载)
控制绘图GUI课上例子程序(右键链接另存为下载),
六、课程大作业
19、大作业要求(总成绩的20%,最晚考后2周内答辩上交,考试前答辩上交的适当加分)

七、二维绘图
% plot绘图,不同步距的选取
x=[-pi:0.05:pi];
y=sin(tan(x))-tan(sin(x));
plot(x,y)
x=[-pi:0.00001:pi];
x=[-pi:0.05:-1.8,-1.801:0.0001:-1.2,-1.2:0.05:1.2,1.2:0.0001:1.8,1.81:0.05:pi]
% 分段函数绘图(饱和函数)
x=[-2:0.02:2];
y=1.1*sign(x).*(abs(x)>1.1)+x.*(abs(x)<=1.1);
plot(x,y)
%plotyy 双坐标轴绘图
x=0:0.1:2*pi;
y1=sin(x);
y2=0.01*cos(x);
plot(x,y1,x,y2,'--')
plotyy(x,y1,x,y2)
%极坐标绘图
theta=0:0.01:6*pi;
rho=5*sin(4*theta/3);
polarplot(theta,rho)
rho=5*sin(theta/3);
polarplot(theta,rho)
%subplot分区域绘图,以及其他绘图指令
t=0:.2:2*pi;
y=sin(t);
subplot(2,2,1),stairs(t,y)
subplot(2,2,2),stem(t,y)
subplot(2,2,3),bar(t,y)
subplot(2,2,4),semilogx(t,y)
%隐函数绘图
syms x y
h=fimplicit(x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y));
set(h,'Color','b');
h=fimplicit(x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y),[-10 10]);
set(h,'color','b')
%对excel表的读写
X=xlsread('census.xls','B5:C22');
t=X(:,1);p=X(:,2);plot(t,p);
xlswrite(‘uu.xls’,X);
census.xls文件下载