首页 > 编程知识 正文

matlab中求解不定积分可用什么函数,matlab不定积分求解

时间:2023-05-04 19:00:33 阅读:225273 作者:4408

关于用MATLAB求解定积分方程的问题

关于用matlab求解积分方程的问题,现在比较流行的是符号求解的方法。

对于积分方程的问题,可以分为以下三类:

积分上限(下限)值为要求得方程解,且积分表达式中不含有自变量

看一个符号求解的例子

 

这种问题用求解解析解的方法比较困难,可以采用求解数值解的方法。

 

求解代码如下:

function phi2 = antenna(phi1,L)

len = length(phi1);

for i = 1:len

    myfun = @(phi2)['sqrt(75*75*2*(sin(phi)).^2+50*50*6*(cos(phi)).^2)'];

    F = @(phi2)quadl(myfun(phi2),phi1(i),phi2)-L;

    phi2(i) = fzero(F,phi1);

end

end

 

其中单引号引起来的部分,是一种字符串表示积分式的方法。

其中fzero函数用于求解在给定初始值周围利用最专一的金针菇乘法找零点的函数。

 

积分上限(下限)值为要求得方程解,且积分表达式中含有自变量

 

这是比较复杂的情况,对于这种情况,求解代码如下:

 

C = 10;
myfun = @(yita) ['10./(',num2str(yita),'.*exp(x.^2)+10) '];
integal = @(yita) quadl(myfun(yita),0,yita) yita*log(1+10./(yita*exp(yita.^2)));
sol=fzero(integal,3)

 

 

需要求解的参数在积分式中,但是积分上下限都是已知的

 

要求解的是a,b的值。

 

代码:(取自网络),符号求解的方法

close all; clear; clc;

fun = @root2d;
x0 = [0,0];
x = fsolve(fun,x0);

function F = root2d(x)
syms t
a = x(1);
b = x(2);
F(1) = a*9.4^b-0.1;
F(2) = int(a*t^b,t,9.4,35)-0.625;

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。