簡體   English   中英

嘗試使用分段條件在Matlab中繪制矢量與另一個矢量

[英]Trying to plot a vector vs another vector in Matlab using piecewise conditionals

我試圖通過創建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));

我只是運行你的代碼,它工作正常。 由於大陣列可能需要一段時間,所以你必須耐心等待。

我會將y初始化為y = zeros(size(f)) ,因為如果你改變f會更方便。 另外,我建議使用loglog(f, y)代替劇情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM