查看: 144|回复: 1|关注: 0

[已解决] 大学物理中理想气体的一个公式,想用MATLAB求积分,但是...

[复制链接]

新手

29 麦片

财富积分


050


2

主题

4

帖子

0

最佳答案
想用matlab来计算大学物理的某些公式,但由于含有字符,求积分总是显示分段函数怎么办代码如下
积分的反常积分是用正无穷和0的极限来求得
>> syms x p u k t y f

>> y=4*p*((u/(2*p*k*t))^(1.5))*x^3*exp((-u*x^2)/(2*k*t));
>> f=int(y,x)

f =

-(8*k^2*p*t^2*exp(-(u*x^2)/(2*k*t))*((u*x^2)/(2*k*t) + 1)*(u/(2*k*p*t))^(3/2))/u^2

>> a=limit(f,inf)

a =

-(8*p*limit(k^2*t^2*exp(-(u*x^2)/(2*k*t))*((u*x^2)/(2*k*t) + 1), x == Inf)*(u/(2*k*p*t))^(3/2))/u^2

>> b=limit(f,0)

b =

-(8*k^2*p*t^2*(u/(2*k*p*t))^(3/2))/u^2

>> a-b

ans =

- (8*p*limit(k^2*t^2*exp(-(u*x^2)/(2*k*t))*((u*x^2)/(2*k*t) + 1), x == Inf)*(u/(2*k*p*t))^(3/2))/u^2 + (8*k^2*p*t^2*(u/(2*k*p*t))^(3/2))/u^2

>> 这是直接积分运算的
>> syms x p u k t
>> syms y f
>> y=4*p*((u/(2*p*k*t))^(1.5))*x^3*exp((-u*x^2)/(2*k*t));
>> f=int(y,x,0,inf)

f =

piecewise([k ~= 0 & t ~= 0, -4*p*(limit(k*t*exp(-(x^2*u)/(2*k*t))*(2*k*t + x^2*u), x == Inf)/u^2 - (2*k^2*t^2)/u^2)*(u/(2*k*p*t))^(3/2)], [0 <= real(u/(k*t)) | k == 0 | t == 0, (8*k^2*p*t^2*(u/(2*k*p*t))^(3/2))/u^2])

本题是大学物理中理想气体的一个推论用p代表的π,t代表的T,k代表的K,x代表的v(miu音)详细见图片,求指导,谢谢
Cache_570a3df0b5dfb95b_edited.jpg

论坛优秀回答者

入门

267 麦片

财富积分


50500


0

主题

279

帖子

57

最佳答案
  • 关注者: 16
发表于 2018-6-15 09:27:23 | 显示全部楼层 |此回复为最佳答案
用assume限制参数定义域,很多物理量都是非负实数.
  1. clear;
  2. syms x p u k t y f;
  3. assume(p>0 & k>0 & u>0 & t>0);
  4. y=4*p*((u/(2*p*k*t))^(1.5))*x^3*exp((-u*x^2)/(2*k*t));
  5. f=int(y,x,0,inf);
  6. pretty(f)
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表