作业帮 > 综合 > 作业

怎样用MATLAB将int(sqrt((y*cos(pi*t))^2+1/x)-1,t,0,1)=0这个关于x,y的隐函

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 18:23:46
怎样用MATLAB将int(sqrt((y*cos(pi*t))^2+1/x)-1,t,0,1)=0这个关于x,y的隐函数画出y(x)的图形出来呀?
在下MATLAB新手一枚,实在不知道怎么弄,如果能够帮到我,
首先需要将积分表达式进行化简,
maple('int(sqrt((y*cos(pi*t))^2+1/x)-1,t)')
ans =
-(1-cos(pi*t)^2)^(1/2)*(y^2*cos(pi*t)^2*x+1)^(1/2)*EllipticE(cos(pi*t),(-y^2*x)^(1/2))/x/sin(pi*t)/((y^2*cos(pi*t)^2*x+1)/x)^(1/2)/pi-t
>>
注意这里是不定积分,其中EllipticE是第二类椭圆积分,注意这里其实是在调用maple符号计算引擎得到的计算结果,所以ans的类型是char,不能直接用,同时matlab中也没有名为EllipticE的函数,所以对于化简结果你需要再进一步处理,首先你得在matlab查一下椭圆积分函数ellipke的使用方法,将t=1和t=0分别代入做差后,就是原来的定积分结果,下面就是一般的隐函数作图使用matlab命令ezplot就可以了,用法比较简单,关键是前面的化简工作.
再问: Thanks!真的讲解得很清楚,佩服! 在你的提醒下,我把相关的数学知识研究了一晚上,终于弄明白了点。 maple后的的式子化简后形式很简单,我又将初始的式子手动化成了用elliptke表达的结果(方法是将cos(pit)替换为积分变量),结果是一样的,XD。 然后我又遇到问题了,如下: syms x y; m = -x*y^2; [K,E] = ellipke(m); Y = 2/pi/x^(1/2) * E(m); ezplot(Y); %显示错误是E(m)的参数应该是浮点数。m不能是符号变量吗?
再答: 对,椭圆积分函数输入参数只能是浮点数,这就是说椭圆积分不能够再次通过解析方法化简。要想画图可以使用下面的方法,得到第二类椭圆积分。 >> x=0:.01:1; >> [K,E]=ellipke(x); >> plot(x,E)