Matlab第 3次课
2.3元素群运算
2.3.1 数组及其赋值
概念,是指单行或单列的矩阵,一个 N阶数组就是 1× N或 N× 1阶矩阵。
赋值
1)用两个‘:’组成等增量语句,
格式,t=[初值:增量:终值 ]
如,t=[0:0.01:1]
Z=10:-3:-5
K=1:10
2)用 linspace函数
格式,linspace(初值,终值,点数)
Theta=linspace(0,2*pi,9)
等差
3)logspace函数
如,w= logspace(0,1,11)
等比
2.3.2元素群四则运算和幂次运算
元素群运算也就是 矩阵中所有元素 按单个运算
1、加减运算
2、乘除运算
,*,./,.\,.^
见表 2.5
设,X=[1,2,3];Y=[4,5,6]
Z=X.\Y;z1=X./Y; Z=Z1
3、元素群幂次运算(,^ )
D=[1,4,7;8,5,2;3,6,0]
D^3=
627 636 510
804 957 516
486 612 441
D.^3 =
1 64 343
512 125 8
27 216 0
可见,元素群的密次运算也就是各个元素分别自行作密次运算。
2.3.3元素群函数
见表 2.7
例子
x=[0:0.1:pi/4]';%??
disp(' X sin(x) cos(x) tan(x)')
disp([x sin(x) cos(x) tan(x)])
X sin(x) cos(x) tan(x)
0 0 1.0000 0
0.1000 0.0998 0.9950 0.1003
0.2000 0.1987 0.9801 0.2027
0.3000 0.2955 0.9553 0.3093
0.4000 0.3894 0.9211 0.4228
0.5000 0.4794 0.8776 0.5463
0.6000 0.5646 0.8253 0.6841
0.7000 0.6442 0.7648 0.8423
2.4 逻辑判断及流程控制
2.4.1 关系运算
两个元素间的比较,见表 2.8
a=4>2 a=4>2;问 a=
B=2+2= =4;问 B= B=(2+2==4) ;
运算的结果只有两种可能,0或 1
A=magic(3)
A =
8 1 6
3 5 7
4 9 2
p=(rem(A,3)==0)
p =
0 0 1
1 0 0
0 1 0
??
rem(a,b),a除 b,求余数
A =
8 1 6
3 5 7
4 9 2
2.4.2逻辑运算
逻辑与 A&B
逻辑或 |
逻辑非~ A
异或 xor(A,B)
例子
见书 P24
2.4.3流程控制语句
1,if语句
2,while 语句
3,for语句
4,Switch语句
If 语句的用法
1,if (表达式 ) 语句组 A,END
2,if (表达式 ) 语句组 A,else语句组 B,
END
3,if (表达式 1) 语句组 A,elseif (表达式
2)语句组 B,else语句组 C,END
例子:输入个数 n,判断其奇偶性
clc;
disp('Please input n');
n=input('n=');
if isempty(n)==1
A='empty',
elseif rem(n,2)==0
A='even',
else A='odd',
end
能将‘,’改成
‘;’??
While语句
结构形式
while (表达式 )
语句组 A,
end
clc;
x=1;
while x~=inf,
x1=x;
x=2*x;
end
x1
练习 1
请用 while 语句写个程序,计算 1….N 的和,如 N
= 100。
clc
N=input('N=');
n=1;x=0;
while n<=N,
n=n+1;
x=x+n;
end
n,x
请用 while 语句写个程序,计算 N!的和,如 N= 100。
3.for 语句
结构形式
for k=初值:增量:终值
语句组 A,
end
例,用 for语句求三角函数表
For x=0:0.1:pi/4
disp([x,sin(x),cos(x),tan(x)]),
end
4,Switch语句
Switch-case-otherwise语句是一种多分支语句;
结构形式:
Switch 表达式 (标量或字符串)
Case 值 1
语句组 A
Case 值 2
语句组 B
…..
Otherwise
语句组 N
end
例子
利用 switch 写个判断输入数为奇,偶、空的情况。
clc
n=input('n=')
switch mod(n,2)
case 1
A='奇 ',
case 0
A='偶 ',
otherwise
A='空 '
end
2.5 基本绘图方法
2.5.1 直角坐标中的两维曲线
1,plot(y)
y=5*rand(1,10)-0.5
plot(y)
title('my first plot')
xlabel('x')
ylabel('y')
plot(t,y)的用法
t=0:0.5:4*pi;
>> y=exp(-0.1*t).*sin(t);% 元素群运算加‘,’
>> plot(t,y)
>> y1=exp(-0.1*t).*sin(t+1);
>> hold on
>> plot(t,y1,':r')
2.5.2线型、点型和颜色
见 P29 表 2.12
例子:
plot(t,y1,'--r')
2.5.3 多条曲线的绘制
1、用 plot(t,[y;y1])
t=0:0.5:4*pi;
>> y=exp(-0.1*t).*sin(t);
>> y1=exp(-0.1*t).*sin(t+1);
>> plot(t,[y; y1])
0 2 4 6 8 10 12 14
- 0,8
- 0,6
- 0,4
- 0,2
0
0,2
0,4
0,6
0,8
1
Hold 命令
t=0:0.5:4*pi;
>> y=exp(-0.1*t).*sin(t);
plot(t,y)
>> t2=0:0.2:2*pi;
y2=exp(-0.5*t2).*sin(5*t2+1);
>> hold on??
plot(t2,y2,'--r')
4,plotyy命令
t=0:0.5:4*pi;
y=exp(-0.1*t).*sin(t);
t2=0:0.2:2*pi;
y2=exp(-0.5*t2).*sin(5*t2+1);
y3=5*y2;
plotyy(t,y,t2,y3);
grid,gtext('t,t2')
gtext('y'),gtext('y3‘)
已知


3,)1(
30,1
0,0
)(
3
tee
te
t
ty
t
t
请画出其波形