Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-03-19, 20:38   #1
zzh320924
初级会员
 
注册日期: 2011-02-06
年龄: 35
帖子: 6
声望力: 0
zzh320924 正向着好的方向发展
默认 程序运行出错 求大虾解决

程序运行后出现如下错误: ??? Error using ==> times
Matrix dimensions must agree.

Error in ==> array11 at 32
Y1=j*(n-1).*2*pi*d2.*cos(theta)

源程序:

theta=0i/1000:2*pi;
y2=0;
d1=rod(b,c,N);
d2=d+d1;

for n=1:N
Y1=j*(n-1).*2*pi*d2.*cos(theta);
Y= exp(Y1);
y2 = Y(n)+(y2);
end
y2=y2/max(y2);
polar(theta,abs(y2),'g')

其中b=0.1, c=0.2,N=4,d=0.5

rod function 如下:
function op=rod(b,c,N)
op=b+(c-b).*rand(1,N)



d1 是4个0.1到0.2之间的随机数,d2=d+d1这里我认为应该写 d2=(d1).+d;但不知为啥出错 另外程序运行的错误请求帮看看是哪有问题 谢谢!
zzh320924 当前离线   回复时引用此帖
旧 2011-03-20, 06:35   #2
anbcjys
高级会员
 
注册日期: 2008-09-14
年龄: 43
帖子: 351
声望力: 24
anbcjys 正向着好的方向发展
默认 回复: 程序运行出错 求大虾解决

d2.*cos(theta)这个 看看两项分别多少个
__________________
qq604443022
anbcjys 当前离线   回复时引用此帖
旧 2011-03-20, 21:56   #3
zzh320924
初级会员
 
注册日期: 2011-02-06
年龄: 35
帖子: 6
声望力: 0
zzh320924 正向着好的方向发展
默认 回复: 程序运行出错 求大虾解决

先修改如下:for n=1:N
Y1=cos(theta).*j*(n-1)*2*pi*d2(n);
Y= exp(Y1);
y2 = Y(n)+y2;
end
y2=y2/max(y2);
y2=abs(y2)
polar(theta,y2,'g')


运行后出现: Error using ==> polar
THETA and RHO must be the same size.
Error in ==> array11 at 38
polar(theta,y2,'g')


不知是哪里 求解答
zzh320924 当前离线   回复时引用此帖
旧 2011-03-21, 08:39   #4
yhcode
高级会员
 
注册日期: 2008-05-13
年龄: 44
帖子: 232
声望力: 21
yhcode 正向着好的方向发展
默认 回复: 程序运行出错 求大虾解决

还是size的问题,看你的程序发现:
polar(theta,y2,'g') 中,y2应该是一个1*1的变量,也就是标量,而theta是一个向量,不同维。
__________________
工科'985'博士,(图像处理、分析及理解;模式识别;运动估计;数据分析等)定做程序、算法实现--qq:752105755
yhcode 当前离线   回复时引用此帖
旧 2011-03-21, 11:09   #5
zzh320924
初级会员
 
注册日期: 2011-02-06
年龄: 35
帖子: 6
声望力: 0
zzh320924 正向着好的方向发展
默认 回复: 程序运行出错 求大虾解决

请问一下 如何修改 因为我求y2公式中也有cos(theta) 感激不尽
zzh320924 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 14:42


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.