yhkn.net
当前位置:首页 >> MATLAB怎么求这种符号积分? >>

MATLAB怎么求这种符号积分?

t=0:0.01:10;a= ;b= ;%自己对ab赋值f=(exp((-(a-t).^2-b^2)./t)+t)./t;y=sum(f)*0.01;%积分后的近似结果

f=@(x)sin(x)+cos(x); %定义被积函数Intf=quad(f,0,1) %对f进行积分,下限为0,上限为1

可这样:>> syms x>> integral(@(x)(sin(x)+cos(x)).^3.*exp(-2*x.^2),3,4)ans = -1.0247e-09

楼上是正解.如果求值的话,在上面的基础上,继续这样写:clc clear all syms a x y=int(exp(-0.2*a-x.^2/2),'x','-inf','a') a=10;eval(y)

1 这个积分没有符号解,只好求数值解.2 积分上界是无穷,在求数值解时,只要将上界值定到足够大即可.3 方程含有v z两个自变量,应先确定z值,再计算与z对应的积分 close all clear,clc h = 0.01; NN = 10000000; % 积分上界 for i = 1:1/h %

有20个v,那应该有20个结果吧?而且你的那个函数的定积分是没有解析解的.所以只能求数值解.建议你利用trapz函数,具体的看help.其实也可以用quad但是它需要函数的定义,所以有点麻烦,我不推荐.下面有代码.>> x=0:0.01:20;v=1:20;>> for i=1:20f(:,i)=((1+16*(x-1).^2)./(v(i)^2-40.*x.*(x-2))).^(1/2);y(i)=trapz(x,f(:,i));end>> y若满意请采纳 ^.^

clc; clear all; close all; syms x a b% f = (cos(x) - sin(x)) / (1 + sin(x)*sin(x));% I = int(f)% g = log(2+cos(x));% J = int(g,0,pi*2) f = sin(a*x)*sin(b*x); I = int(f) 这是个例子,上面的部分是不定积分,中间计算的是定积分

太复杂,没有函数解,所有不适合符号积分(也就是定积分函数int),适合数值积分quad计算

syms st,vol;solve(int(131/1250*ST*(1/ST)^(3/2)*exp(-6277/100000*vol^2-1403797224009297/2305843009213693952/vol^2-log(1/100*ST)^2/vol^2)/(vol^2)^(1/2);

syms z zzint('((1-zz)^2*(1+0.7*zz)-zz*(2+zz)*0.3)^(-1/2)',0,z)直接这么做就出来了.不过符号表达式很复杂,我就不复制上来了 你自己看看数值的会好做很多

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com