查看: 185|回复: 2|关注: 0

[已解决] Matlab求解上下限含有变量的定积分函数 并画出三维图像

[复制链接]

新手

7 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
本帖最后由 gggaa4958 于 2019-10-22 18:32 编辑

c_1 =5;
c_2 =4;
s =6;
p =10;
a =100;
b =2;
T =5;
k =5;
Q =0:50:50;
d =0:50:50;
[Q,d] =meshgrid(Q,d);
syms x Q d z
D_g = a - b*(d*p + k*T);
F('x')= normcdf('x',0,1);
f('x')= normpdf('x',0,1);
z= (d *p- c_1)*D_g +p* Q *[1-F(Q)]+p*int('x*f(x)','x',0,Q)
surf(Q,d,z);
最后显示Conversion to function_handle from double is not possible.我真是哭了
新手菜鸟。跪求大神讲解!!!

论坛优秀回答者

5

主题

1641

帖子

456

最佳答案
  • 关注者: 132
发表于 2019-10-18 11:08:37 | 显示全部楼层 |此回复为最佳答案
这种涉及网格计算的情形,新手就老老实实写循环挨个算
参考
https://www.ilovematlab.cn/thread-573800-1-1.html
https://www.ilovematlab.cn/thread-576148-1-1.html
提问请:①准确描述问题②贴代码别贴代码的截图③勿一问多帖或一帖多问④及时反馈⑤看清回复的每个字

新手

7 麦片

财富积分


050


2

主题

3

帖子

0

最佳答案
 楼主| 发表于 2019-10-22 19:46:12 | 显示全部楼层
TouAkira 发表于 2019-10-18 11:08
这种涉及网格计算的情形,新手就老老实实写循环挨个算
参考
https://www.ilovematlab.cn/thread-573800-1-1 ...

c1 =5; %?EFC?????????????
c2 =4; %?????????????????
s =6; %????????????????
p =10; %???????
a =100; %??????
b =2; %??????
T =5;% ????
k =5; %??????????????

Q =0:1:100;

d =0:0.01:1;

for i = 0:1:numel(Q)
    for j = 0:1:numel(d)
      
        syms x

        D = a - b * (d*p + k*T);

        F('x')= normcdf('x',0,1);

        f('x')= normpdf('x',0,1);

        z= (p*d- c1).*D +p * Q .*(1-F(Q))+p * integral(@(x)x*f(x),0,Q,'ArrayValued',true)+(c1 - c2) * integral(@(x)(Q -x)*f(x),0,Q,'ArrayValued',true)

        Z(j,i) = z(Q(i),d(j));
    end
end

[Q,d] =meshgrid(Q,d);


mesh(Q,d,Z);


弄成循环了。可还是有错误。看了好几天。老师能帮忙看一下哪里错了么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表