全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
3716 4
2009-02-23

有函数:

z(a,b,m,q)=[1+a(1-m)*q^a*(1-2b)/(1-a(1-b)+am(1-2b)] *  (1+q^a/a(1-q^a))^(ab/(1-a))*  (1-q^a)^(-a/(1-a))

想用matlab看看z受参数a,b,m,q的影响,参数的取值范围都是[0,1], 想两个两个变量地分析对因变量的影响,画出三围效果图。

但是输入程序之后,显示“z既不是矢量也不是标量”,程序怎么写呢?

 

[此贴子已经被作者于2009-2-23 18:44:27编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-2-24 10:36:00

先固定其它变量,用其中两个做x,y,打格子,然后计算每个节点的z,最后就可以画成曲面图。

一个简单的例子:

http://macro2.cn/notes/matlab/figure/8_mesh_surf.htm

[此贴子已经被作者于2009-2-24 12:06:14编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-2-24 15:10:00

按照上面的方法设定了两个变量,然后用

[a,b]=meshgrid(0,1);

z=..... ;

mesh(z,a,b);

的语句来写程序,但是运行后显示

z must not be a vector or a scalar.....

不知道错误在那里。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-2-25 23:38:00

显然你没有认真看我给你的网页地址, 连Meshgrid都用错了。版主很生气,后果很严重! 不过考虑你急着要,写了个实例。

[a,b]=meshgrid(linspace(0.01,.99,10),linspace(0.01,.99,10));
m=rand;q=rand;
z=(1+a.*(1-m).*q.^a.*(1-2*b)./(1-a.*(1-b)+a.*m.*(1-2*b))).*(1+q.^a./a.*(1-q.^a)).^(a.*b./(1-a)).*(1-q.^a).^(-a./(1-a));
surf(a,b,z);

你这个函数好像有问题。 算出的结果很发指。

别来找我啦。 自己好好把那些网页看看吧,然后检查下自己的函数问题。

[此贴子已经被作者于2009-2-25 23:39:20编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-2-26 01:05:00

确实很着急,所以才麻烦版主。

非常感谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群