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);
问题,图出不来。求大神帮忙。 展开
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);
问题,图出不来。求大神帮忙。 展开
3个回答
展开全部
这个问题的困难不在于积分限里有变量,而在于积分限里有无穷大。
如果用数值积分,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)
可以看到,两种方法的结果一致,这验证颤裂了数值方法的正确性。
展开全部
提示你从符号变量变到双精度数值出现错误。还有你注意有些地方需要用滚态到没桐点乘或点除。给你一个可以运行的程序枯备坦:
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);
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);
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要拆皮循弊裂环求解
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询