1个回答
展开全部
matlab 积分图像可以来实现。其方法利用for循环语句求解每一个(d,y)的对应值,然后用plot绘出其积分图像。
d0=0:0.1:3.1;
n=length(d0);
for i=1:n
d=d0(i);
R=0.3*d+1;
syms x
eq=2*x/R^2.*exp(-x.^2/R^2).*acos((x.^2+0.1)./(2*x)); %eq=@(x)2*x/R^2.*exp(-x.^2/R^2).*acos((x.^2+0.1)./(2*x));
y(i)=int(eq,0.1,R); %y(i)=integral(eq,0.1,R,'RelTol',1e-8,'AbsTol',1e-13);
end
plot(d0,y)
xlabel('d'),ylabel('y');grid on
运行结果
注:当d0>3.1时,y为复数值。请题主检查一下积分方程是否有错。
追问
谢谢 我换了参数就能得到我想要的图像了 就是算的速度有点慢 有方法解决么
火丰科技
2024-11-28 广告
2024-11-28 广告
致力于从事惯性测量、卫星导航等产品的研发、生产的高新技术企业。公司旗下投资多条自动化生产线分别分布于西安、深圳、珠海等地,其中包括光纤陀螺、MEMS惯导、石英加速度计、电子对抗通信产品生产线,拥有中国先进的惯性导航产品及电子对抗产品生产条件...
点击进入详情页
本回答由火丰科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询