多少事,从来急;天地转,光阴迫。
一万年太久,只争朝夕。 ——毛泽东《满江红·致郭沫若同志》
% 4.元胞数组
A = cell(1,6) %a=b=666
A{2} = eye(3) %从1开始,python 从0开始,索引
A{5} = magic(5) %魔方:每行每列相加的和都相同
B = A{5}
% 5.结构体
books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name % 属性
books.name(1) % 小括号取出来的是 cell
books.name{1} % 大括号取出来的是 字符串
% 1、矩阵的定义与构造
A = [1 2 3 4 5 6]
B = 1:3:9
C = repmat(B,3,1)
D = ones(2,4)
A = [1 2 3 4; 5 6 7 8]
B = [1 1 2 2; 2 2 1 1]
C = A + B
D = A - B
E = A * B' %前者行数和后者列数相同才可进行相乘,如果不同,则不可进行相乘
F = A.* B %前面带点的表示对应项相乘
G = A / B % G * B = A G * B * pinv(B) 相当于A乘以B的逆矩阵
H = A./ B % 前面带点的表示对应项相除
A = magic(5)
B = A(2,3)
C = A(3,:)
D = A(:,4)
[m,n] = find(A > 20) %找大于20的序号值/矩阵
% for循环结构:
% for 循环变量=初值 : 步长 : 终值(步长的默认值为1,可以省略)
% 执行语句1
% ……
% 执行语句n
% end
sum = 0;
for n = 1:5
sum = sum + n^2;
end
% for循环中可以嵌套for循环
sum = 0;
for i = 1:5;
p = 1;
for j = 1:i
p = p * j;
end
sum = sum + p;
end
for i=1:9
for j=1:9
a(i,j) = i.* j;
end
end
% 求1到10的和
s = 0;
n = 1;
while n<=10
s=s+n;
n=n+1;
end
x=1;
sum=0;
while x<101
sum = sum + x;
x = x + 2;
end
%%
% 1、二维平面绘图
x=0:0.01:2*pi;
y=sin(x);
figure %建立一个幕布
plot(x,y)
title('y=sin(x)') %取一个标题
xlabel('x') %x轴的标签
ylabel('sin(x)') %y轴的标签
xlim([0 2*pi]) %x轴的值的范围
x=0:0.01:20;
y1=200*exp(-0.05*x).*sin(x);
y2=0.8*exp(-0.5*x).*sin(10*x);
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(\musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--') %虚线
set(H2,'LineStyle',':') %点划线
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
%hold on %绘制其他线
%hold off %不保存
grid on %限制作用,在幕布中加了一些网格线
axis square %限制作用
% 3、图形的保存和导出
% (1) Edit -> Copy Figure
% (2) Toolbar -> Save
% (3) print('-depse','-tiff','-r300','picturel')
% (4) File -> Export Setup
[x,y,z] = peaks(30); %双峰函数
mesh(x,y,z)
grid
x=linspace(0,2*pi,60);
subplot(2,2,1)
plot(x,sin(x)-1);
title('sin(x)-1');
axis([0,2*pi,-2,0])
subplot(2,1,2)
plot(x,cos(x)+1);
title('cos(x)+1');
axis([0,2*pi,0,2])
subplot(4,4,3)
plot(x,tan(x));
title('tan(x)');
axis([0,2*pi,-40,40])
subplot(4,4,8)
plot(x,cot(x));
title('cot(x)');
axis([0,2*pi,-35,35])