声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4221|回复: 9

[编程技巧] 错误:Attempt to execute SCRIPT contour as a function

[复制链接]
发表于 2007-5-14 09:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
[X,Y] = meshgrid(-2:0.05:5,-2:0.05:5);
sigma = 1;
p=[0.5 -0.5 0];
MU = [1.5,2];
Z=1/(2*pi*sqrt(1-p(1)^2))*exp(-1/2/(1-p(1)^2)*((X-MU(1)).^2-2*p(1)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)).^2));
contour(X,Y,Z,[0.01 0.01],'r-')
hold on;
Z=1/(2*pi*sqrt(1-p(2)^2))*exp(-1/2/(1-p(2)^2)*((X-MU(1)).^2-2*p(2)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)).^2));
contour(X,Y,Z,[0.01 0.01],'b-.')
Z=1/(2*pi*sqrt(1-p(3)^2))*exp(-1/2/(1-p(3)^2)*((X-MU(1)).^2-2*p(3)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)).^2));
contour(X,Y,Z,[0.01 0.01],'g:')
legend('mu=0.5时的等高线','mu=-0.5时的等高线','mu=0时的等高线')
axis tight

昨天还能画出图来的,今天给同学看看,结果就运行不了了。
提示:Attempt to execute SCRIPT contour as a function。
谁知道错在哪里了?
回复
分享到:

使用道具 举报

发表于 2007-5-14 09:48 | 显示全部楼层
原帖由 后知后觉 于 2007-5-14 09:47 发表
[X,Y] = meshgrid(-2:0.05:5,-2:0.05:5);
sigma = 1;
p=[0.5 -0.5 0];
MU = [1.5,2];
Z=1/(2*pi*sqrt(1-p(1)^2))*exp(-1/2/(1-p(1)^2)*((X-MU(1)).^2-2*p(1)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)).^2));
conto ...



帖子 [原创]写给学习 matlab 的新手们 中第二个技巧
 楼主| 发表于 2007-5-14 09:51 | 显示全部楼层
如果先运行
[X,Y] = meshgrid(-2:0.05:5,-2:0.05:5);
sigma = 1;
p=[0.5 -0.5 0];
MU = [1.5,2];
Z=1/(2*pi*sqrt(1-p(1)^2))*exp(-1/2/(1-p(1)^2)*((X-MU(1)).^2-2*p(1)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)).^2));
contour(X,Y,Z)
运行完后,再运行上面的程序就能出答案了。可是为什么呢?哪位朋友遇到过?

[ 本帖最后由 后知后觉 于 2007-5-14 09:58 编辑 ]
发表于 2007-5-14 09:55 | 显示全部楼层
原帖由 后知后觉 于 2007-5-14 09:51 发表
如果先运行
[X,Y] = meshgrid(-2:0.05:5,-2:0.05:5);
sigma = 1;
p=[0.5 -0.5 0];
MU = [1.5,2];
Z=1/(2*pi*sqrt(1-p(1)^2))*exp(-1/2/(1-p(1)^2)*((X-MU(1)).^2-2*p(1)*(X-MU(1)).*(Y-MU(2))+(Y-MU(2)). ...



估计 contour 函数被你同学重命名了
 楼主| 发表于 2007-5-14 09:56 | 显示全部楼层
文件名没有冲突啊?我是直接把命令粘贴到matlab中的。
而且都是在我自己的电脑上运行的。很是纳闷

[ 本帖最后由 后知后觉 于 2007-5-14 09:59 编辑 ]
发表于 2007-5-14 09:59 | 显示全部楼层
原帖由 后知后觉 于 2007-5-14 09:56 发表
文件名没有冲突啊?我是直接把命令粘贴到matlab中的。


我的意思是你同学之前使用 matlab 的时候,自定义了一个 contour 函数(他也许不知道这会与 matlab 自带的 contour 函数重名),因此之后无论是你使用,还是他使用,只要在他的 matlab 中运行你的程序,均会出现这个问题。建议版主在他的 matlab 中按照精华贴的方法测试一下,然后重新命名他定义的函数即可
发表于 2007-5-14 10:00 | 显示全部楼层
而且都是在我自己的电脑上运行的。很是纳闷



那可能是你自己之前不经意地自定义了一个 contour 函数

我运行的结果:

[ 本帖最后由 eight 于 2007-5-14 10:01 编辑 ]
untitled2.bmp
 楼主| 发表于 2007-5-14 10:03 | 显示全部楼层
谢谢eight大哥耐心的指点。:'( 感动中…………
发表于 2008-9-29 15:32 | 显示全部楼层
前面加 function[X,Y] = meshgrid(-2:0.05:5,-2:0.05:5);
发表于 2009-4-18 14:59 | 显示全部楼层

回复 9楼 bank103kimo 的帖子

楼上的, 不是这个原因喔!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 15:51 , Processed in 0.066219 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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