主题:[讨论]matlab 积分函数含有变量怎么办
cnqwood
[专家分:0] 发布于 2007-04-17 20:57:00
我在用matlab求积分时遇到了特殊情况,一个积分函数里有别的变量,也就是被积函数里除了积分变量之外,还有别的量,在积分时是常量,但是在调用这个积分函数以前要赋不同的值
怎么办呢
回复列表 (共8个回复)
沙发
jackie0523 [专家分:0] 发布于 2008-01-13 09:43:00
我也遇到了同样的问题,请问您解决了吗??着急啊,能不能和您联系一下,我的电话是0531-88396831,一般晚上在,拜托了
板凳
zhouxuewu11 [专家分:430] 发布于 2008-01-14 15:10:00
别的变量只能是数值存在,所以调用前只能是一个确实的数。这样,你可以扩展一层循环,把“别的变量”用离散数值表示。也就是,数值计算。
如:f=f(x,y)。要对x积分,但是含有变量y??
把y离散,y=[起点 终点]
那么积分变成了
y(i)下 f=f(x,y(i))的积分值。这就是数值计算。这是想用程序解必具备的思想
3 楼
blivfate [专家分:720] 发布于 2008-01-14 17:39:00
int积分函数就可以了,它可以对符号表达式积分的,你只要最后表明是对哪个变量进行积分就行了,其他的变量在积分时都当常量
比如
>> syms x y
>> f=x^2+y^2
f =
x^2+y^2
>> int(f,x,0,1)
ans =
1/3+y^2
后面你可以用数值去代替其中的y
4 楼
Guassfans [专家分:4090] 发布于 2008-01-14 22:52:00
>> syms x y
>> f=x^2+y^2
f =
x^2+y^2
>> int(f,x,0,1)
ans =
1/3+y^2
>> int(subs(f,'y',2),x,0,1)
ans =
13/3
>> subs(int(f,x,0,1),'y',2)
ans =
4.3333
5 楼
lovespo [专家分:0] 发布于 2008-05-07 02:19:00
上面给出一个参数的做法,即y=2
如果是多个参数怎么办?
如:
求 x+y+z 在区间[0,1]上的积分
其中y,z为不定参数。
6 楼
dongyuanxun [专家分:7180] 发布于 2008-05-07 08:19:00
[quote]上面给出一个参数的做法,即y=2
如果是多个参数怎么办?
如:
求 x+y+z 在区间[0,1]上的积分
其中y,z为不定参数。[/quote]
嵌套就行了
syms x y z
u=x+y+z
v=int(u,x,0,1)
subs(subs(v,'y',3),'z',1)
7 楼
lovespo [专家分:0] 发布于 2008-05-07 12:06:00
谢谢楼上几位,现在学会对给定不同参数做积分了。
M-file:
function [ f ] = intg( a,b,y0,z0,h0 )
syms x y z h
u = x+y+z+h;
v=int(u,x,a,b);
f = subs(subs(subs(v,'y',y0),'z',z0),'h',h0)
intg(0,3,3,1,4)
f =
28.5000
ans =
28.5000
8 楼
michael503 [专家分:10] 发布于 2009-04-10 16:27:00
好帖!
我来回复