% 判断输入的数字,输出对应的结果 input_num = input('请输入数字:'); if input_num == 1 % 巴特沃斯滤波器图像 [b, a] = butter(5, 0.5, 'low'); freqz(b, a); title('巴特沃斯滤波器图像'); elseif input_num == 2 % 切比雪夫滤波器图像 [b, a] = cheby1(5, 1, 0.5, 'low'); freqz(b, a); title('切比雪夫滤波器图像'); elseif input_num == 3 % 三维图像 [x, y] = meshgrid(-2:0.2:2); z = x .* exp(-x .^ 2 - y .^ 2); figure; surf(x, y, z); xlabel('x轴'); ylabel('y轴'); zlabel('z轴'); title('三维图像'); elseif input_num == 4 % D触发器的输入输出图像 t = 0:0.01:2; d = square(2*pi*t, 50); q = zeros(size(t)); for i = 2:length(t) if d(i) > d(i-1) q(i) = 1; elseif d(i) < d(i-1) q(i) = 0; end end添加imwrite来保存这四个图像
时间: 2024-03-31 10:36:17 浏览: 158
input_num = input('请输入数字:');
if input_num == 1
% 巴特沃斯滤波器图像
[b, a] = butter(5, 0.5, 'low');
freqz(b, a);
title('巴特沃斯滤波器图像');
elseif input_num == 2
% 切比雪夫滤波器图像
[b, a] = cheby1(5, 1, 0.5, 'low');
freqz(b, a);
title('切比雪夫滤波器图像');
elseif input_num == 3
% 三维图像
[x, y] = meshgrid(-2:0.2:2);
z = x .* exp(-x .^ 2 - y .^ 2);
figure;
surf(x, y, z);
xlabel('x轴');
ylabel('y轴');
zlabel('z轴');
title('三维图像');
elseif input_num == 4
% D触发器的输入输出图像
t = 0:0.01:2;
d = square(2*pi*t, 50);
q = zeros(size(t));
for i = 2:length(t)
if d(i) > d(i-1)
q(i) = 1;
elseif d(i) < d(i-1)
q(i) = 0;
end
end
% 添加imwrite来保存这四个图像
imwrite(getframe(gcf).cdata, '巴特沃斯滤波器图像.png');
close;
imwrite(getframe(gcf).cdata, '切比雪夫滤波器图像.png');
close;
imwrite(getframe(gcf).cdata, '三维图像.png');
close;
plot(t, [d;q]);
legend('D触发器输入', 'D触发器输出');
xlabel('时间');
ylabel('电压');
title('D触发器的输入输出图像');
imwrite(getframe(gcf).cdata, 'D触发器的输入输出图像.png');
close;
end
阅读全文