matlab中关于int积分问题代码如下:clear;for delta=0:0.5:3;sigma1=0.5;sigma2=0.5+delta;x=-50:1:50;M=int(4.*x.*exp((-2).*(x.^2)).*log(4.*x.*exp((-2).*(x.^2))/(x/(0.5+sigma2).^2.*exp((-0.5).(x.^2)/(0.5+sigma2).^2))));plot(x,M);grid on;endrun
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 11:29:51
matlab中关于int积分问题代码如下:clear;for delta=0:0.5:3;sigma1=0.5;sigma2=0.5+delta;x=-50:1:50;M=int(4.*x.*exp((-2).*(x.^2)).*log(4.*x.*exp((-2).*(x.^2))/(x/(0.5+sigma2).^2.*exp((-0.5).(x.^2)/(0.5+sigma2).^2))));plot(x,M);grid on;endrun
matlab中关于int积分问题
代码如下:
clear;
for delta=0:0.5:3;
sigma1=0.5;
sigma2=0.5+delta;
x=-50:1:50;
M=int(4.*x.*exp((-2).*(x.^2)).*log(4.*x.*exp((-2).*(x.^2))/(x/(0.5+sigma2).^2.*exp((-0.5).(x.^2)/(0.5+sigma2).^2))));
plot(x,M);
grid on;
end
run后出现Undefined function 'int' for input arguments of type 'double'.为什么写成int32(...)或者用trapz就不报错了,但是算出的结果肯定不对.
麻烦帮我把这个循环改一下,想画的图是delta每加一次算出来的M值和x的关系,但是要出现delta=0到3的一共6根线.
matlab中关于int积分问题代码如下:clear;for delta=0:0.5:3;sigma1=0.5;sigma2=0.5+delta;x=-50:1:50;M=int(4.*x.*exp((-2).*(x.^2)).*log(4.*x.*exp((-2).*(x.^2))/(x/(0.5+sigma2).^2.*exp((-0.5).(x.^2)/(0.5+sigma2).^2))));plot(x,M);grid on;endrun
clc
clear
figure
hold on
sigma1=0.5;
delta=0:0.5:3;
sigma2=0.5+delta;
x=-50:1:50;
for p=(0.5+sigma2).^2
M=zeros(size(x));
for i=1:length(x)
M(i)=integral(@(x)4*x.*exp(-2*x.^2).*log(4*x.*exp(-2*x.^2)/(x/p.*exp(-0.5.*x.^2/p))),x(1),x(i));
end
plot(x,M);
end
grid on;