Function only computing first element of array used as input

3 ビュー (過去 30 日間)
Carsten
Carsten 2023 年 3 月 23 日
コメント済み: Carsten 2023 年 3 月 23 日
I am trying to use a MATLAB function to generate a plot for the function :
As such I am using the linspace function to generate an input array that I then aim to give to the function i wrote to get data to be plotted. But the function only processes the first element of the Array generated by linspace. The function appears to work correctly for singular values but not for arrays.
function S = FXSUM(x)
Tot = 0; % reset Total
for n = 2:x % for loop for Function Summs at a iterations
it = (1/(n*((log(n))^2))); % provided function
Tot = Tot + it % sum of function iterations
end
S = Tot; % Out value equal to function iterrations total
end

採用された回答

Cris LaPierre
Cris LaPierre 2023 年 3 月 23 日
移動済み: Cris LaPierre 2023 年 3 月 23 日
Your function is not written to accept a vector as input. You likely need to add a second loop to run for each element of your input vector.
Right now, it creates your loop counter using 2 and the first element of x.
x = 5:8
x = 1×4
5 6 7 8
2:x
ans = 1×4
2 3 4 5
  1 件のコメント
Carsten
Carsten 2023 年 3 月 23 日
Thank you very much. Still getting used to MATLAB and its behaviour. Similar function worked fine on a previous calculation, though i did not have a loop set to run to a variable end point, which seemed to be the issue here when said variable is a vector.
Issue was successfully resolved using a second for loop to read points of the vector, process with the above loop and then feed back into the solution vector.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by