作爲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