ベクトル正方形の 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 に値を追加しました。助けてくれてありがとう。