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