作为OP问这是一种Matlab代码。 我假设在w [1,100]范围内绘制B的图形(但可以更改值) wc有3个不同的情况,B(B1,B2,B3和B4)的4个不同图形将被映射四种不同的颜色
%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等),这个函数不依赖于这次。所以
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)));
如果一些错误(因“快”写)时给你,在评论报告他们,我会纠正和更新代码
的经典方法在3点:1编写一个表达式的B与w作为一个值也进入wc,2 - 一个存储到数组w [i] = 1且数组B [i] =(其中w = w [i ]),3-曲线(w,B)就像每2个变量曲线y = f(x)不起作用?或者我错过了什么? – marcoresk
@marcoresk非常感谢您的回复。对不起,但我真的没有经验,如果您发布示例代码作为答案,将非常感激。在此先感谢... –
我认为你有很多来自你的声誉配置文件的经验。我发布了一个初级答案,试试吧! – marcoresk