matlab求解积分并画图的问题。

clearallsymsxM=2;fx=exp(-x*x/2)/sqrt(2*pi);sn=-20:1:100;Q=int(fx,x,sn,inf);P=2*(M-1)*... clear all
syms x
M=2;
fx=exp(-x*x/2)/sqrt(2*pi);
sn=-20:1:100;
Q=int(fx,x,sn,inf);
P=2*(M-1)*Q/M;
plot(sn,P);

运行之后出现
??? Error using ==> plot
Conversion to double from sym is not possible.
Error in ==> Untitled at 8
plot(sn,P);

问题,图出不来。求大神帮忙。
展开
 我来答
愈漾唐朵
2020-07-07 · TA获得超过3776个赞
知道大有可为答主
回答量:3119
采纳率:27%
帮助的人:202万
展开全部

这个问题的困难不在于积分限里有变量,而在于积分限里有无穷大。
如果用数值积分,quad系列函数都伏丛不能处理积分区域为无界的情况,但2012a引入了integral系列新的数值积分函数可以处理。
 
不知道你的函数F(x,y)表达式,这里举个例子来说明。
 
假设F(x,y)是二元平方指数函数F(x,y)=exp(-(x^2+y^2))(这个函数其实是可以用int积分的,不过正好可以对符号和数值两种方法进行比较)。如果用符号积分茄厅闭:
syms x y
Fxy=exp(-(x^2+y^2));
Fy=int(Fxy,x,y,inf)
ezplot(Fy)
如果用数值积分:
Fxy=@(x,y)exp(-(x.^2+y.^2));
Fy=@(y)integral(@(x)Fxy(x,y),y,inf);
ezplot(Fy)
可以看到,两种方法的结果一致,这验证颤裂了数值方法的正确性。

jiangzhemath
2012-12-15 · TA获得超过129个赞
知道答主
回答量:61
采纳率:0%
帮助的人:60.7万
展开全部
提示你从符号变量变到双精度数值出现错误。还有你注意有些地方需要用滚态到没桐点乘或点除。给你一个可以运行的程序枯备坦:
clear all;
syms x;
M=2;
fx=exp(-x*x/2)/sqrt(2*pi);
sn=-20:1:100;
t=length(sn);
Q0=zeros(length(sn));
Q=Q0(1:length(sn));
for k=1:t
Q(k)=eval(int(fx,x,sn(k),inf));
end
P=2*(M-1)*Q/M;
plot(sn,P);
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lhmhz
高粉答主

2012-12-15 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17001

向TA提问 私信TA
展开全部
需要拆皮循弊裂环求解
clc,clear
syms x
M=2;
fx=exp(-x*x/2)/sqrt(2*pi);
sn=-20;
while sn<=100
Q=int(fx,x,sn,inf);
P=vpa(2*(M-1)*Q/旅卜差M);
plot(sn,P,'*r');%grid on
sn=sn+1;
hold on
end
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式