MATLAB Answers

I keep getting the error "Dimension argument must be a positive integer scalar within indexing range"

126 ビュー (過去 30 日間)
Mostafa Moradi
Mostafa Moradi 2021 年 2 月 28 日
回答済み: Rik 2021 年 2 月 28 日
I try to use the trapz to calculate the integral of function below from 0 to 30 but it keeps showing the error:
"Dimension argument must be a positive integer scalar within indexing range"
function: 200*(x/(7+x))*exp(-2.7*x/30)
Here is the code I wrote:
a=0;
b=30;
n=100;
h=(b-a)/n;
x= a:h:b;
f= @(x) 200*(x/(7+x))*exp(-2.7*x/b);
M= trapz(x,f)

採用された回答

Rik
Rik 2021 年 2 月 28 日
The trapz function does not allow an anonymous function as second input. You will need to calculate the y values.
f= @(x) 200*(x./(7+x)).*exp(-2.7*x/b);
M= trapz(x,f(x))

その他の回答 (0 件)

タグ

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by