返回信息流程序:
EX=15;
p=5;
s=6;
c_1=3;
q=30;
M=60;
v=1;
c=2;
syms x;
x=str2double(x);
F_x=chi2cdf(x,EX);
E=-(p+s-c_1)*int(F_x,x,0,(q+M))-(c_1-v)*int(F_x,x,0,q)-s*EX+(p+s-c_1)*(q+M)+(c_1-c)*q;
vpa(E)
错误提示:
Undefined function 'int' for input arguments of type 'double'.
matlab版本:64位R2012a
操作系统:32位XP系统
这是一条镜像帖。来源:北邮人论坛 / matlab / #9423同步于 2012/11/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
[问题]卡方分布函数求积分时出错:undefined function‘int’
crystalhyh
2012/11/8镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
syms x;
x=str2double(x);
没看明白这两句话是干嘛的。。。运行完之后
x = NaN
【 在 crystalhyh (crystal) 的大作中提到: 】
: 程序:
: EX=15;
: p=5;
: ...................
【 在 dannian 的大作中提到: 】
: syms x;
: x=str2double(x);
:
: ...................
第一句是定义x为符号变量;
第二句是把符号变量转换为数值变量,只有转换了才能在卡方分布里用。
未初始化的符号变量就转换为数值?。
【 在 crystalhyh (crystal) 的大作中提到: 】
: 第一句是定义x为符号变量;
: 第二句是把符号变量转换为数值变量,只有转换了才能在卡方分布里用。
【 在 dannian 的大作中提到: 】
: 未初始化的符号变量就转换为数值?。
:
卡方分布我想作为一个函数使用到下面的E中,所以F_x=chi2cdf(x,EX)中的x必须是变量,而chi2cdf不让代符号变量,就只好把它转换成数值变量了。
我也不知道这样转换对不对。
chi2pdf这个函数就得就不对
看例子
nu = 1:6;
x = nu;
y = chi2pdf(x,nu)
y =
0.2420 0.1839 0.1542 0.1353 0.1220 0.1120
【 在 crystalhyh (crystal) 的大作中提到: 】
: 程序:
: EX=15;
: p=5;
: ...................
这个例子里的nu就相当于我程序里的EX。
这个例子是x取1-6,分别算出x对应的函数值,即概率密度值。
也就是这里的x已经是常数了。
对应每个x,chi2pdf(x,nu)是一个具体的数。
而我的程序里我是希望能把x作为变量用,整个chi2pdf作为一个变量为x的函数代到下面E的式子里去。
但matlab没有这种符号运算的功能,你不给x赋予具体的值的话,那函数是肯定要报错的
【 在 crystalhyh (crystal) 的大作中提到: 】
: 这个例子里的nu就相当于我程序里的EX。
: 这个例子是x取1-6,分别算出x对应的函数值,即概率密度值。
: 也就是这里的x已经是常数了。
: ...................
【 在 dannian 的大作中提到: 】
: 但matlab没有这种符号运算的功能,你不给x赋予具体的值的话,那函数是肯定要报错的
注定没办法了么?
只能把卡方分布的表达式给敲出来才行么?
不活了。。。
表达式敲出来也不一定有用。。
你的代码是在计算一个定积分么?。。貌似能用数值积分的方法计算
【 在 crystalhyh (crystal) 的大作中提到: 】
: 注定没办法了么?
: 只能把卡方分布的表达式给敲出来才行么?
: 不活了。。。
: ...................