Something must be a floating point scalar?
17 ビュー (過去 30 日間)
古いコメントを表示
Mathidiot Superfacial
2016 年 3 月 14 日
コメント済み: Walter Roberson
2022 年 4 月 10 日
f=@(x,y) sqrt(9-x.^2-y.^2);
xmax=@(y) sqrt(9-y.^2);
volume=integral2(f,0,xmax,0,3)
But it says XMAX must be a floating point scalar? What's wrong?
0 件のコメント
採用された回答
James Tursa
2016 年 3 月 14 日
編集済み: James Tursa
2016 年 3 月 14 日
The error message seems pretty clear. The x limits must by scalar values. The y limits can be functions of x. Just rearrange things so that is the case. Since f is symmetric with respect to x and y, you can just switch arguments.
integral2(f,0,3,0,xmax)
2 件のコメント
Walter Roberson
2016 年 3 月 14 日
編集済み: Walter Roberson
2016 年 3 月 14 日
For 2D integrals, theory says that it does not matter which order you evaluate the integration. So define the function handle to be integrated so that the first parameter is the one with fixed bounds and the second parameter is the one with variable bounds. Remember it is not required that x be the first parameter.
f = @(y, x) x.^2 + x.*sin(y).^2;
xmax=@(y) sqrt(9-y.^2);
integral2(f, 0, 3, 0, xmax )
その他の回答 (1 件)
Albert Justin
2022 年 4 月 10 日
Enter the function f(x,y)=@(x,y) x.*y
Enter the outer integral lower limit:0
Enter the outer integral upper limit:a
Enter the inner integral lower limit:@(x) x.^2
Enter the inner integral upper limit:@(x) 2-x
i get the same error
1 件のコメント
Walter Roberson
2022 年 4 月 10 日
a = 5;
f = @(x,y) x.*y
xmin = 0
xmax = a
ymin = @(x) x.^2
ymax = @(x) 2-x
integral2(f, xmin, xmax, ymin, ymax)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!