![](/img/trans.png)
[英]How to plot a vector in matlab with another vector as a parameter?
[英]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.