尝试使用分段条件在Matlab中绘制矢量与另一个矢量

问题描述 投票:0回答:1

我试图通过创建f向量来创建频率(f)与趋肤深度(y)的分段图,然后创建相同大小的空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));
matlab
1个回答
0
投票

我只是运行你的代码,它工作正常。由于大阵列可能需要一段时间,所以你必须耐心等待。

我会将y初始化为y = zeros(size(f)),因为如果你改变f更方便。此外,我建议使用loglog(f, y)作为情节。

© www.soinside.com 2019 - 2024. All rights reserved.