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)の場合は2番目に、私は後でプロットできるように行列を作成したいので、毎回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であり、2回目の反復ではlinspaceの次の値をとります。
私はn_0(i)の値を調べようとしましたが、それは10回の繰り返しを与えます。それは上書きされたことを私にもっと与える。
あなたは、関数の和を使用して変数「の和(I)」を作成...関数の後に変数の名前を指定しないでください。また、l(i)はそれらの反復で変化しないので、kおよびjループ内にあってはならない。 l(1)は1つの値なので、l(1)の合計はl(1)を与えます。あなたは、多くの基本的なMATLABエラーがあります。 – Flynn
ありがとう – JFS
問題を自分で解決するか、より良い質問をするために、コードをよく理解するために、matlabデバッガを使ってみてください。あなたのタイトル(_Iエラーがいくつかあります)はあなたの問題について何も教えていません。 – m7913d