我正在尝试通过创建f向量,然后创建一个具有相同大小的空y向量,并填充满足特定条件的y向量,来绘制频率(f)与趋肤深度(y)的分段图。由于某种原因,代码在命令窗口中陷入了用零填充y向量的问题。我在做什么错了?
谢谢!
e = 80*8.854e-12;
mu = 12.566e-7;
sigma = 4;
f = 1000:100:10000000000;
y = zeros(1, 99999991);
for i=1:length(f)
if (sigma/(2*pi*f(i)*e) < 0.01)
y(i) = 1/((sigma/2)*sqrt(mu/e))
elseif ((sigma/(2*pi*f(i)*e) >= 0.01) && (sigma/(2*pi*f(i)*e) <= 100))
y(i) = 1/(2*pi*f(i)*sqrt((mu*e/2)*(sqrt(1+(sigma./(2*pi*f(i)*e)*sigma./(2*pi*f(i)*e))) - 1)))
elseif (sigma/(2*pi*f(i)*e) > 100)
y(i) = 1/(sqrt(pi*(2*pi*f(i)/(2*pi))*mu*sigma));
end
end
plot(log(f), log(y));
答案 0 :(得分:0)
我刚刚运行了您的代码,它运行正常。由于阵列很大,可能要花一些时间,所以您只需要耐心。
我将y初始化为y = zeros(size(f))
,因为如果您更改f会更方便。另外,我建议改用loglog(f, y)
作图。