gpt4 book ai didi

matlab - 使用子图在同一个图形上绘制两个图形

转载 作者:行者123 更新时间:2023-12-02 06:14:19 25 4
gpt4 key购买 nike

我正在尝试使用 subplot 绘制以下内容我怎样才能做到这一点?谢谢

[n,wc]= buttord(Wp,Ws,Rp,Rs);  
[z,p,k]=butter(n,wc);
sos = zp2sos(z,p,k);


freqz(sos) ;
grpdelay(sos) ;

请注意,这并不简单,因为 freqz 已经产生了一个子图。

最佳答案

如果您使用的函数各自绘制一个图形,则以下将起作用:在每个生成图形输出的函数之前调用subplot。从 manual 可以看出,这很简单。 , subplot(m,n,p) 将图形分割成 m x n 图形的网格并绘制第 p 个图形。但是,正如 @hbaderts 所指出的,freqz 会生成自己的子图,因此您需要重新排列它以包含 grpdelay 即将输出的内容。

按照 this 中提出的解决方法,您可以这样做。线程(请参阅它以获取更通用解决方案)。

freqz(sos);
h = get(gcf, 'children');
fig2=figure;
figure(fig2)
g=subplot(3,1,1)
set(h(1), 'pos', get(g, 'pos'))
figure(fig2)
g=subplot(3,1,2)
set(h(2), 'pos', get(g, 'pos'))
close
g=subplot(3,1,3)
grpdelay(sos)

关于matlab - 使用子图在同一个图形上绘制两个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27374467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com