如何定义一个积分函数(微积分意义上),这样集成边界函数的参数?

2视图(30天)
我正在处理一个问题当我定义一个函数,积分的变量是另一个函数的积分边界:
lambda_imp = @ (u)的函数
Lambda_imp = @ (u) quadgk (Lambda_imp 0 u);
我需要第二个函数矢量,所以,Lambda_imp(1 2 3)()返回的值积分在[0,1],[0,2],[0,3]分别为例。我不能做我的错误:
错误使用quadgk(第99行)
A和B必须标量漂浮。
同样的错误也出现了如果我使用‘积分’而不是quadgk,即使我使用语法
Lambda_imp = @ (u) quadgk (Lambda_imp 0 @ (u) u);

接受的答案

明星黾
明星黾 2021年8月30日
或者使用一个循环 arrayfun 。一起循环是非常简单的,所以我不会展示在这里。这种方法使用 arrayfun :
lambda_mp = @ (u)罪(u) ^ 2;%创建函数
u = (1 2 3);%定义' u '
Lambda_mp = @ (ua) arrayfun (@ (ua)积分(Lambda_mp 0 ua), ua)%计算积分
Lambda_mp =function_handle与价值:
@ (ua) arrayfun (@ (ua)积分(lambda_mp 0 ua), ua)
结果= Lambda_mp (u)% '结果'
结果= 1×3
0.2727 1.1892 1.5699
实验,得到不同的结果。一个显式的循环可以更快 arrayfun ,然而,可能不会明显短向量。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!