matlab中怎样对二元函数中的一个变量做数值积分?
例如函数y=f(a,b)怎样只对b积分?另外,quad()命令里会将已赋值符号也当做变量,当我需要对a赋值后再对b积分,应该怎样做?谢谢高手指点!!...
例如函数y=f(a,b)
怎样只对b积分?
另外,quad()命令里会将已赋值符号也当做变量,当我需要对a赋值后再对b积分,应该怎样做?
谢谢高手指点!! 展开
怎样只对b积分?
另外,quad()命令里会将已赋值符号也当做变量,当我需要对a赋值后再对b积分,应该怎样做?
谢谢高手指点!! 展开
4个回答
展开全部
用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
不知道,说明白了吗!!!!!!!
我给你举一个可以通用的例子:
设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
不知道,说明白了吗!!!!!!!
展开全部
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)
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)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用符号表达式如
syms x y;
d=3*x+2*y;
int(d,'x')
结果就只对x积分了
syms x y;
d=3*x+2*y;
int(d,'x')
结果就只对x积分了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行的,数值积分必须给定其它参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询