0

ベクトル正方形の i 番目の要素を i 番目の値で乗算する Matlab 関数を作成しています。関数を動作させることはできますが、for ループを使用したくありません。for ループなしで sum matlab 関数を使用したいと思います。

%x is the vector
x = [3; 3; 3; 1; 1];


%value = sum(.x^2);     I tried this but this wouldn't work as I can't figure out how to get the ith value.
sumvalue = 0;
for i=1:length(x)
  fprintf('The j is %d, the value is %d.\n',i, x(i));
  sumvalue = sumvalue + (i * x(i)^2);
  fprintf('The sumvalue is %d.\n',sumvalue);
end

他にもいくつか試してみましたが、 for ループを使用せずに i 番目の値を取得する方法を見つけたり、理解したりできないようです。ベクトル (.x) でドット表記を使用することを考えていましたが、その使用方法がよくわからず、i 番目の値がないという問題に戻りました。私はプログラミングは初めてではありませんが、Matlab の使用は初めてです。どんな助けでも大歓迎です。

以下のコードを試しました。value = sum((1:numel(x)).*x.^2);

しかし、次のエラーが表示されます。使用している単純な値を示すために x に値を追加しました。助けてくれてありがとう。

4

1 に答える 1