l_0=1.5;
l_1=1.6;
Lambda_min=2*(1+1)*l_0;
Lambda_max=2*(1+1)*l_1;
n_0=linspace(2,2.11,10);
n_1=linspace(2.30,2.50,10);
for i=1:10
for j=1:10
for k=1:10
l(i) = Lambda_min * (Lambda_max/Lambda_min)^(i/10)
sum=sum(l)
d_0(:,j)= l(i)/((n_0(i)/n_1(i)+1))
d_1(:,k)= (n_0(i)/n_1(i))*d_0(:,j)
end
end
end
首先;我想找到一個向量l(i)的值,然後取這個向量的和。第二,對於d_0(:,j)我想創建一個矩陣,以便稍後繪製它,每次從l(i),n_0,n_1取不同的值。如果我把n_0和n_1的值放到for循環中,我會得到索引錯誤,因爲它應該是邏輯或整數。Matlab。我有一些錯誤
我的矩陣被覆蓋,不知道如何避免它。請注意,我想在d_0和d_1 n_0和n_1中從linspace獲取值。例如在第一次迭代中,n_0 = 2 n_1 = 2.30,然後第二次迭代取linspace中的下一個值。
我試着看到n_0(i)的值,並且它給了我10次迭代。它給了我更多的覆蓋。
您創建了使用功能和......不要將其命名功能後變量變量「和(我)」。此外,l(i)不應該在k和j循環中,因爲它不會隨着這些迭代而改變。 l(1)是一個值,所以l(1)的總和會給你l(1)。你有很多基本的matlab錯誤。 – Flynn
非常感謝 – JFS
請嘗試使用matlab調試器來更好地理解您的代碼,這可以使您自己解決問題或提出更好的問題。你的頭銜(我有一些錯誤_)並沒有說明你的問題。 – m7913d