注册 登录
编程论坛 Matlab

[求助]matlab老是提示"*"错误

lihui5699 发布于 2007-05-11 03:14, 782 次点击

N=1024;
u=zeros(1,N);
t=0:0.02:1;
m=0.1;U=1;w=100*pi;wi=20*pi;
u(t)=U*[1+m*cos(wi*t)]*cos(w*t);
plot(u);
-------------------------------------------------------------------
??? Error using ==> *
Inner matrix dimensions must agree.

Error in ==> e:\MATLAB6p5\work\Untitled1.m
On line 5 ==> u(t)=U*[1+m*cos(wi*t)]*cos(w*t);


请问大哥大姐,是因为程序错了还是matlab问题,挠头啊,重装了好几遍都是这样。
感恩戴德啊!!!

[此贴子已经被作者于2007-5-11 3:18:02编辑过]

4 回复
#2
尘埃1222007-05-11 08:39
u(t)=U*[1+m*cos(wi*t)]*cos(w*t); 这句话的表述上有问题哦,呵呵

u(t) 你想表示的是什么?如果只是想表示t的序数,应写为 u(1:size(t,2)),矩阵间数组对应值计算应该用点乘,‘.*’,如果用乘的话,就成矩阵之间的乘法了,应该不是你需要的

u(1:size(t,2))=U.*[1+m*cos(wi.*t)].*cos(w.*t);
plot(u(1:size(t,2)));

#3
lihui56992007-05-11 11:39
u(1:size(t,2)),请问这是几行几列的,还有,仿真出来的图形好像也不对,想要的是这样的:
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


这是电压闪变信号的模型,不知版主对这一块熟悉不,请赐教,谢过!!
#4
seidel2007-05-11 13:24
要想得到那么圆滑的图,你就使用ezplot()画。你使用采集样本点画,会有偏差。
#5
尘埃1222007-05-12 12:17
  电压闪变信号,我不熟悉,只能再求高人了,呵呵  
1