小编use*_*905的帖子

需要帮助在Matlab中绘制此函数

我最近开始使用Matlab,我试图绘制Imaginary函数的一部分.我可以看到我在某个地方犯了一个错误,因为我有图表显示我需要得到什么,而我正在得到别的东西.这是我需要得到的图表的链接,我得到的和我正在绘制的函数:

想要的结果,绘制函数和获得的图形.

我知道这个函数在270 Hz左右的频率上有一个奇点,我不知道'quadgk'是否能解决积分.你们可能知道但是积分里面的θ功能是一个重量级的,我不知道这是否会导致问题?我在这里做错了吗?这是我写的matlab代码:

clear all
clc

ff=1:10:1000;

K1=(2*3)*log(2*cosh(135/6))/pi;
theta1=ones(size(ff));
theta1(ff<270)=0;

I1=zeros(size(ff));

for n = 1:numel(ff)
    f = ff(n);
    I1(n)= K1/f + (f/pi)*quadgk(@(x)(sinh(x/3)/(cosh(135/3)+cosh(x/3))-theta1(n))./((f^2)-4*(x.^2)), 0, inf);
end

plot(ff,I1, 'b');
hold on
axis([0 1000 -0.3 1])
Run Code Online (Sandbox Code Playgroud)

matlab plot function integral singular

5
推荐指数
1
解决办法
563
查看次数

标签 统计

function ×1

integral ×1

matlab ×1

plot ×1

singular ×1