我有一个问题,因为这个工作适用于许多函数,但当我试图绘制正弦的积分时(我正在使用matlab 2010),我遇到了麻烦:
clear all
close all
clc
x = linspace(-10, 10, 100);
f = @(x) sin(x);
I = arrayfun(@(x) quad(f, 0, x), x);
plot(x, f(x),'r', x, I, 'b')
我希望有一个-cos(x),但是我得到了偏移量为1的东西,为什么会发生这种情况?该如何解决这个问题呢?
我正在尝试进行以下集成:
d >= 0在哪里。
我试图得到一个明确的表达式,我认为结果应该是一个正值,因为被积函数大于或等于0,但MATLAB的符号积分给了我这个结果:
syms y d
assume(d>=0)
int(y^2*sqrt(-y^2+d*y),y,0,d)
ans =
-(5*pi*d^4)/128
所以我想知道为什么会出现负值。你知道如何解释这个结果吗?
我试图计算一些积分,例如:
a = 1/sqrt(2);
b = -5;
c = 62;
d = 1;
f = exp(-x^2-y^2)*(erfc((sym(a) + 1/(x^2+y^2)*(sym(b)*x+sym(d)*y))*sqrt((x^2+y^2)*sym(10.^(c/10))))...
+ erfc((sym(a) - 1/(x^2+y^2)*(sym(b)*x+sym(d)*y))*sqrt((x^2+y^2)*sym(10.^(c/10)))));
h = int(int(f,x,-Inf,Inf),y,-Inf,Inf);
假设:
z = [0.4 0.5 0.75]'
function y = myfunct(x)
y = quad(@sin, 0, x)
我想计算sin(x)的定积分,从0到0.4,到0.5和0.75,使用:
myfunct(z)
但是,Matlab返回:
??? Error using ==> quad at 70
The limits of integration must be scalars.
如果有任何建设性的建议,我将不胜感激。
我有一个密度函数f_N,其定义如下(K_nu(z)是修改后的贝塞尔函数):
我想为N的每个值计算下面的积分
以下是上述方法在matlab中的实现。
for N=1:100
syms z
f =@(z) (1/(gamma(N)*sqrt(pi))*(z/2).^(N-0.5).*besselk(0.5-N,z));
g = @(z) f(z).*log(f(z));
val=integral(g,0,Inf);
但当我运行上面的代码时,它总是为N的各种值返回NaN,并显示以下警告:
Warning: Infinite or Not-a-Num
当我想通过RCaller运行一些代码时,Java会抛出以下异常:
Exception in thread "JavaFX Application Thread" com.github.rcaller.exception.ExecutionException: Can not send the source code to R file due to: java.io.IOException: The pipe is being closed Maximum number of retries exceeded.
这是我的密码:
protected void initialize
我有一个代码,它需要计算下面的弧长方程:
syms x
a = 10; b = 10; c = 10; d = 10;
fun = 4*a*x^3+3*b*x^2+2*c*x+d
int((1+(fun)^2)^.5)
但回报如下:
ans = int(((40*x^3 + 30*x^2 + 20*x + 10)^2 + 1)^(1/2), x)
为什么matlab不能评估这个积分?我在下面添加了一行,以检查它是否会规避int(x),并返回所需的结果。