matlab中怎样对二元函数中的一个变量做数值积分?

例如函数y=f(a,b)
怎样只对b积分?

另外,quad()命令里会将已赋值符号也当做变量,当我需要对a赋值后再对b积分,应该怎样做?

谢谢高手指点!!

用int函数不行吗?
我给你举一个可以通用的例子:
设z=axy+by^2 ,其中a、b为常量,x、y为变量
下面求a=1,b=2,x=3;时,对y在[0,1]上的积分,步骤如下:
首先,执行如下命令:yy=int('a*x*y+b*y^2','y',0,1)
会显示以下结果:
yy =

1/2*a*x+1/3*b
然后输入以下命令:
a=1;b=2;x=3;
yyyyy=subs(yy)
如下是结果:
yyyyy =

2.1667
不知道,说明白了吗!!!!!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
clear all
clc
syms va rho tau
f=@(va,rho,tau) (2.5-0.1*(va+rho*sin(tau)))./(exp(2.5-0.1*(va+rho*sin(tau)))-1);
n = 5000;%当想要结果更精确时,可以把n设置更大
tau = linspace(0,2*pi,n);
%自编的简单方法
Tn =@(va,rho) pi/n*(sum(f(va,rho,tau(1:end-1)))+sum(f(va,rho,tau(2:end))));
%Tn积分结果变成参数的函数,结果由参数确定。
va = 2;rho = 5;
Tn(va,rho) %这就是数值积分带入参数后的结果,这时积分结果成为参数的函数

%利用matlab自带函数的方法,先确定参数值然后积分。两种方法都可以,后者精度高。
h = @(tau) f(va,rho,tau) %
integral(h,0,2*pi)本回答被网友采纳
第2个回答  2009-10-08
用符号表达式如
syms x y;
d=3*x+2*y;
int(d,'x')
结果就只对x积分了
第3个回答  2009-10-08
不行的,数值积分必须给定其它参数。
相似回答