如何在 MATLAB 中绘制 − 图?
How to plot − diagram in MATLAB?
我正在尝试使用 MATLAB
为给定的相位常数绘制 − 图,但是虽然我看过很多网页,但没有类似的绘图示例 - MATLAB 中的图表。您能否通过举一些有关此问题的示例来说明如何进行?非常感谢任何帮助。
绘图范围: =10ℎ−10
w : Angular 频率
wc : 常数 Angular 频率
第一个的参数: 1=0.2*, 2=0.4*, 3=0.6*, 4=0.8* , ɛ1=1* ɛ0, μ= μ0
1st的参数: a1=0.08636cm, a2=0.8636cm, a3=2.286cm, a4=29.21cm, ɛ1=1* ɛ0, μ= μ0
正如 OP 所问,这是一种 Matlab 代码。
我假设用 [1,100] 范围内的 w 映射 B 的图(但值可以更改)
第一个案例有 wc 有 3 个不同的案例,B 的 4 个不同图(B1、B2、B3 和 B4)将以四种不同的颜色映射
%constant inizialization
mu = 1.2566E-6;
e = 1;
start_f = 10000; %10 MHz start frequency range
end_f = 10000000; %10 GHz end frequency range
step = 10 %plot the function every "step" Hz (ONLY INTEGER NUMBERS ALLOWED)
k = 1;
% function of B example: B = w*sqrt(mu*e)*sqrt(1-((wc^2)/w));
%vectors initialization to avoid the "consider preallocation" Matlab not-critical warning
range_f = ceil((end_f - start_f)/step) + 1;
w = zeros(range_f);
B1 = zeros(range_f);
B2 = zeros(range_f);
B3 = zeros(range_f);
B4 = zeros(range_f);
for i=start_f:step:end_f %from 10 MHz to 10 GHz with steps of 1 Hz
%store i in the i-cell of vector w
w(k) = i;
%values that need to be updated every time
w1 = 0.2*w(i);
w2 = 0.4*w(i);
w3 = 0.6*w(i);
w4 = 0.8*w(i);
%four different results of B
B1(i) = w(i)*sqrt(mu*e)*sqrt(1-((w1^2)/w(i)));
B2(i) = w(i)*sqrt(mu*e)*sqrt(1-((w2^2)/w(i)));
B3(i) = w(i)*sqrt(mu*e)*sqrt(1-((w3^2)/w(i)));
B4(i) = w(i)*sqrt(mu*e)*sqrt(1-((w4^2)/w(i)));
k = k+1;
end
%plot the 4 lines
plot(w,B1,'r') %red line of B1 = f(w)
hold on
plot(w,B2,'g') %green line of B2 = f(w)
hold on
plot(w,B3,'b') %blue line of B3 = f(w)
hold on
plot(w,B4,'k') %black line of B4 = f(w)
4 个不同的案例必须用 4 个图表示(在这个例子中它们被覆盖)。
最后一个符号可以用同样的方式完成(你有 4 个常量参数 a1、a2 等)这次不依赖于 w。所以
B1a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B2a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B3a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B4a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
如果您遇到一些错误(由于"fast"写作),请在评论中报告它们,我会更正并更新代码
我正在尝试使用 MATLAB
为给定的相位常数绘制 − 图,但是虽然我看过很多网页,但没有类似的绘图示例 - MATLAB 中的图表。您能否通过举一些有关此问题的示例来说明如何进行?非常感谢任何帮助。
绘图范围: =10ℎ−10
w : Angular 频率
wc : 常数 Angular 频率
第一个的参数: 1=0.2*, 2=0.4*, 3=0.6*, 4=0.8* , ɛ1=1* ɛ0, μ= μ0
1st的参数: a1=0.08636cm, a2=0.8636cm, a3=2.286cm, a4=29.21cm, ɛ1=1* ɛ0, μ= μ0
正如 OP 所问,这是一种 Matlab 代码。 我假设用 [1,100] 范围内的 w 映射 B 的图(但值可以更改) 第一个案例有 wc 有 3 个不同的案例,B 的 4 个不同图(B1、B2、B3 和 B4)将以四种不同的颜色映射
%constant inizialization
mu = 1.2566E-6;
e = 1;
start_f = 10000; %10 MHz start frequency range
end_f = 10000000; %10 GHz end frequency range
step = 10 %plot the function every "step" Hz (ONLY INTEGER NUMBERS ALLOWED)
k = 1;
% function of B example: B = w*sqrt(mu*e)*sqrt(1-((wc^2)/w));
%vectors initialization to avoid the "consider preallocation" Matlab not-critical warning
range_f = ceil((end_f - start_f)/step) + 1;
w = zeros(range_f);
B1 = zeros(range_f);
B2 = zeros(range_f);
B3 = zeros(range_f);
B4 = zeros(range_f);
for i=start_f:step:end_f %from 10 MHz to 10 GHz with steps of 1 Hz
%store i in the i-cell of vector w
w(k) = i;
%values that need to be updated every time
w1 = 0.2*w(i);
w2 = 0.4*w(i);
w3 = 0.6*w(i);
w4 = 0.8*w(i);
%four different results of B
B1(i) = w(i)*sqrt(mu*e)*sqrt(1-((w1^2)/w(i)));
B2(i) = w(i)*sqrt(mu*e)*sqrt(1-((w2^2)/w(i)));
B3(i) = w(i)*sqrt(mu*e)*sqrt(1-((w3^2)/w(i)));
B4(i) = w(i)*sqrt(mu*e)*sqrt(1-((w4^2)/w(i)));
k = k+1;
end
%plot the 4 lines
plot(w,B1,'r') %red line of B1 = f(w)
hold on
plot(w,B2,'g') %green line of B2 = f(w)
hold on
plot(w,B3,'b') %blue line of B3 = f(w)
hold on
plot(w,B4,'k') %black line of B4 = f(w)
4 个不同的案例必须用 4 个图表示(在这个例子中它们被覆盖)。
最后一个符号可以用同样的方式完成(你有 4 个常量参数 a1、a2 等)这次不依赖于 w。所以
B1a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B2a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B3a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
B4a(i) = sqrt((w(i)^2)*mu*e - ((pi^2)/a1)));
如果您遇到一些错误(由于"fast"写作),请在评论中报告它们,我会更正并更新代码