PDA

查看完整版本 : [MATLAB基础] 求助!一个小程序总是提示该错误:??? Conversion to double from sym is not possible.


psh
2010-07-01, 10:24
下面程序:
clear
clc
len_mem = 10;
mu = 6;
ser_mean = 1/mu;
events = [];
events(2,: ) = exprnd(ser_mean,1,len_mem);
for i=1:len_mem
syms x;
f=ser_mean*exp(ser_mean*x);
events(9,i)=int(x*f,0,events(2,i));
end

zsy312
2010-07-02, 12:43
改成下面的就行了,但是你的代码不太好,syms x放到for前面就行了,不然每次都还得执行同样的语句。events中间有好多行是0,我不知道你这样做想干什么。
clear
clc
len_mem = 10;
mu = 6;
ser_mean = 1/mu;
events = [];
events(2,: ) = exprnd(ser_mean,1,len_mem);
events=sym(events);
for i=1:len_mem
syms x;
f=ser_mean*exp(ser_mean*x);
events(9,i)=int(x*f,0,events(2,i));
end
events=double(events);