matlab中产生分贝坐标的语句是什么?
答案:2 悬赏:10 手机版
解决时间 2021-02-08 23:10
- 提问者网友:未信
- 2021-02-08 06:34
matlab中产生分贝坐标的语句是什么?
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-02-08 08:13
我找了会也不知道matab有什么自动转功率为dB的画图函数,不过你可以自已写一个啊,我也不知道你具体是想画怎么样的图,我给你简单地写了个,
%三个输入参数:
%x:横坐标数据
%P:纵坐标数据,可以为功率(W)或(dB),也可为电压(V)
%dBorW:可以为'dB':此时输入P本身就为dB值,直接画出图形
%'W':此时输入P是单位为瓦的功率值,转换成dB后画出图形
%'V':此时输入P是单位为伏的电压值,转换成dB后画出图形
function a=dbPlot(x,P,dBorW)
set(gcf,'color','w') % 将图形背景色设为白色
if dBorW=='W'
a=plot(x,10*log10(P));
elseif dBorW=='dB'
a=plot(x,P);
elseif dBorW=='V'
a=plot(x,20*log10(P));
end
grid;
ylabel('P(dB)') 色设为白色
plot(x,20*log10(abs(P))); % 画出分贝频谱特性
grid;
ylabel('P(dB)')
end
end
%三个输入参数:
%x:横坐标数据
%P:纵坐标数据,可以为功率(W)或(dB),也可为电压(V)
%dBorW:可以为'dB':此时输入P本身就为dB值,直接画出图形
%'W':此时输入P是单位为瓦的功率值,转换成dB后画出图形
%'V':此时输入P是单位为伏的电压值,转换成dB后画出图形
function a=dbPlot(x,P,dBorW)
set(gcf,'color','w') % 将图形背景色设为白色
if dBorW=='W'
a=plot(x,10*log10(P));
elseif dBorW=='dB'
a=plot(x,P);
elseif dBorW=='V'
a=plot(x,20*log10(P));
end
grid;
ylabel('P(dB)') 色设为白色
plot(x,20*log10(abs(P))); % 画出分贝频谱特性
grid;
ylabel('P(dB)')
end
end
全部回答
- 1楼网友:怀裏藏嬌
- 2021-02-08 09:35
最后画图的时候,如果纵坐标变量y是功率,直接用10*log10(y)就可以了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯