簡體   English   中英

請說明Octave-Error:運算符/:不符合參數(op1為1x1,op2為1x10)

[英]Please Explain Octave-Error : operator /: nonconformant arguments (op1 is 1x1, op2 is 1x10)

我在以八度運行特定腳本時遇到問題。 這是產生錯誤的代碼:

#germanium
T=410:20:600;
x=linspace(400,410,100);
y=linspace(10^9,10^9,100);
k=8.5*10 .^(-5);
Eg=0.59;
Nc300=1.02*10^13;
Nc=Nc300*((T/300).^(3/2));
n=Nc*(e.^(-Eg/(2*k*T)));
plot(T,n,x,y,'m');
grid on
xlabel('Temprature');
ylabel('Electron Density n');
title('Germanium n(T)');

如標題中所述,產生的錯誤如下: 錯誤:ger5:運算符/:參數不一致(op1為1x1,op2為1x10)我做了很多測試,並且我認為問題出在第9行的T變量: n = Nc *(e。^(-Eg /(2 * k * T))); 沒有它,代碼運行良好。 例如 :

#germanium
T=410:20:600;
x=linspace(400,410,100);
y=linspace(10^9,10^9,100);
k=8.5*10 .^(-5);
Eg=0.59;
Nc300=1.02*10^13;
Nc=Nc300*((T/300).^(3/2));
n=Nc*(e.^(-Eg/(2*k*500)));
plot(T,n,x,y,'m');
grid on
xlabel('Temprature');
ylabel('Electron Density n');
title('Germanium n(T)');

在這種情況下,我只需將T替換為500,代碼就可以正常運行。 遺憾的是,T不能用某個數字代替,因為它是我的圖形中使用的變量。 盡管進行了一些挖掘工作,但我從未設法完全理解此錯誤或如何解決此錯誤,因此,我們將不勝感激任何幫助。 謝謝。

添加一個。 *,/和^符號之前。 這將確保八度使用標量乘法而不是矩陣乘法。

n=Nc.*(e.^(-Eg./(2.*k.*T)));

暫無
暫無

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

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