⑴ 如何用Matlab求如下数值积分
syms x y k kp delte
y = exp(-(k-kp)^2/σ^2)*cos(kx);
f = int(y, k, kp-2*delte, kp+2*delte);
⑵ matlab如何表示积分
MATLAB中主要用int进行符号积分,用trapz、dblquad、quad、quad8等进行数值积分。
int(s) 符号表达式s的不定积分,int(s,x) 符号表达式s关于变量x的不定积分,int(s,a,b) 符号表达式s的定积分,a、b分别为积分的上、下限,int(s,x,a,b) 符号表达式s关于变量x的定积分,a,b分别为积分的上、下限;trapz(x,y) 梯形积分法,x时表示积分区间的离散化向量,y是与x同维数的向量,表示被积函数,z返回积分值。
MATLAB 可以用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
(2)matlab数值积分工具箱扩展阅读:
MATLAB语言作为一种交互性的数学脚本语言,其语法与C/C++类似。它支持包括逻辑(boolean)、数值(numeric)、文本(text)、函数柄(function handle)和异素数据容器(heterogeneous container)在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式(0维至任意高维)。
执行MATLAB代码的最简单方式是在MATLAB程序的命令窗口(Command Window)的提示符处(>>)输入代码,MATLAB会即时返回操作结果(如果有的话)。此时, MATLAB可以看作是一个交互式的数学终端,简单来说,一个功能强大的“计算器”。MATLAB代码同样可以保存在一个以.m为后缀名的文本文件中,然后在命令窗口或其它函数中直接调用。
⑶ 利用matlab进行数值积分计算
#include<stdio.h>
#include<math.h>
#definepi3.1415926
#defineeps0.0001
#definegpi/2
doublef(doublex){
returnsqrt(400*cos(x)*cos(x)+100*sin(x)*sin(x));
}
voidmain()
{
floatT[20][4];
intk,m,i;
doublet=0;
T[0][0]=23.5619445;
T[1][0]=38.98796225;
for(k=1;k<20;k++)
{
for(i=1;i<pow(2,k-1);i++)
t+=f((2*i-1)*g/pow(2,k));
T[k][0]=0.5*T[k-1][0]+t*g/pow(2,k);
}
for(k=0;k<20;k++)
{
for(m=1;m<4;m++)
T[k][m]=(pow(4,m)*T[k+1][m-1]-T[k][m-1])/(pow(4,m)-1);
if(k>=4)
if(fabs(T[k-3][3]-T[k-4][3])<eps)
break;
}
printf("%lf ",4*T[k-3][3]);
}
⑷ 如何用matlab如何实现数值积分
CenaTP 发表于 2013-8-26 18:16
登录/注册后可看大图
感觉用trapz和用sum直接求和差不多~
trapz
和 cumtrapz
函数都是基于梯形积分的函数,其本质是将积分区间划分为一定数量的等间距的子区间,然后将每段子区间上的函数曲线用一段直线近似,该直线经过由小区间端点对应的原曲线上的两个端点。所以,从本质上讲,梯形积分只不过是一种
“分段线性近似”。所以,对于高次函数(次数>=2)时,梯形积分在划分区间数目一定的情况下可能会很变得不精确(尤其是当被积函数不连续或震荡性很大时),而且,在子区间数固定的情况下,被积函数次数越高,梯形积分精度就越差。所以,为了使得梯形积分变得更加精确,你需要用更小的间隔来划分更多的子区间,即用更多的子区间来近似。
但是,对于已知离散数据的情况下,数据量是固定的,即无法进一步划分子区间,所以,用梯形积分可能造成很大的误差。如果已知被积函数可能的次数的话,可以考虑用大于等于该次数的多项式拟合,将被积函数表达式拟合出来,一旦有了函数表达式,用符号积分
int 或数值积分 quadgk 或 integral
都可以。即使不知道被积函数的次数,也可以用高次函数你和出被积函数,再做积分
⑸ 如何用matlab求积分
使用int函数即可。
函数由integrate缩写而来,int 函数表达式,变量,积分上限,积分下限。
举例专:求一个属Fx = a*x^2,在区间(0,1)对x进行积分。
首先要将 m,x,a,b 这四个变量定义为符号变量。
syms m x a b;
Fx = a*x^2;
int(Fx,x,0,1)
matlab数值积分中函数积分的几种方法:
1、采用inline内联函数
Matlab中可以有采用几种不同的方式来指定被积函数。对于简单的、长度不超过一行的公式采用inline命令比较方便。
例如:可用下面的语句进行计算
>> f=inline('1/sqrt(1+x^4)') %采用inline内联函数
2、特殊点不可积函数,采用realmin
如果我们想要计算,可能使用下面的语句
>> f=inline('sin(x)/x')
3、依赖于参数的积分
一个典型的例子是β函数,它定义为matlab中已经实现了一个现成的β函数,但我们可以以它为例,说明如何处理积分中的参数。创建一个带三个参数的内联函数
>> F=inline('t^(z-1)*(1-t)^(w-1)','t','z','w')
⑹ 求MATLAB数值积分
通过int()函数和vpa()函数求得K值(数值解),然后用polt()函数画出b、K的关系图。
⑺ matlab计算数值积分(复杂,希望给出关键语句)
关键是写来出正确被积自函数,对其进行采样。
x0 = 0;
b = 1;
f = @(x) sqrt(1+(exp((x-x0).^2/(-2*b^2))).^2); % 被积函数
xs = (x0:0.01:x0+sqrt(log(8*b))).'; % 采样点
fs = f(xs);
bl = trapz(xs, fs)/3; % 积分
⑻ 大家帮忙用matlab进行数值积分,并列出命令行
用matlab可以如下数值积分法,来求解定积分、二重积分、三重积分的数值解问题。
1、梯形数值积分计算 trapz()
X = 0:pi/100:pi;
Y = sin(X);
Z = pi/100*trapz(Y)
2、自适应辛普森数值积分计算 quad()
F = @(x)1./(x.^3-2*x-5);
Q = quad(F,0,2);
3、自适应Lobatto积分计算 quadl()
function y = myfun(x)
y = 1./(x.^3-2*x-5);
end
Q = quadl(@myfun,0,2);
4、自适应Gauss Kronrod quadrature积分计算 quadgk()
function y = myfun(x)
y = exp(-x.^2).*log(x).^2;
end
Q = quadgk(@myfun,0,Inf)
5、平面区域的二重积分的数值计算 quad2d()
fun = @(x,y) 1./( sqrt(x + y) .* (1 + x + y).^2 )
ymax = @(x) 1 - x
Q = quad2d(fun,0,1,0,ymax)
6、矩形区域的的二重积分数值计算 dblquad()
function z = integrnd(x, y)
z = y*sin(x)+x*cos(y);
end
Q = dblquad(@integrnd, pi, 2*pi, 0, pi)
7、三重积分数值计算 triplequad()
function f = integrnd(x, y, z)
f = y*sin(x)+z*cos(x);
end
Q = triplequad(@integrnd, 0, pi, 0, 1, -1, 1)
以上是最基本的求解数值积分方法。
⑼ Matlab 数值积分
^^^matlab不会把q=acos((x.^2-1+x.^2.*i^2)./(2*x.^2.*i)); 代入专f的
改为下面的即属可
i=2;
f=@(x)((x.^2-1).*x.^2.*i.*sin(acos((x.^2-1+x.^2.*i^2)./(2*x.^2.*i)))-x.^2.*i^2.*asin(x.*sin(acos((x.^2-1+x.^2.*i^2)./(2*x.^2.*i))))+(x.^2.*i^2-(x.^2-1).^2).*acos((x.^2-1+x.^2.*i^2)./(2*x.^2.*i)))./(pi*(x.^2-1).^2)+1;
f2=quad(f,1/(i+1),1/(i-1))
f2 =
0.5959
⑽ matlab2010a怎么打开数值积分工具箱
都有的,你看需要什么。你要是什么什么功能,可以在帮助文档中查找对应功能的名字。统计工具箱只是笼统的说法,具体功能有不同的工具箱比如拟合工具箱,回归工具箱等等。