论坛首页    职业区    学术与写作    工程技术区    软件区    资料区    商务合作区    社区办公室
 您好! 欢迎 登录注册 最新帖子 邀请注册 活动聚焦 统计排行 社区服务 帮助
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
  • 2044阅读
  • 3回复

请高手帮忙看一下MATLAB程序错在哪儿 [复制链接]

上一主题 下一主题
离线ewarren
 

发帖
556
土币
2883
威望
4403
原创币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-05-15
程序如下,运行时提示:“Matrix mast be square”,上网查了一下据说是要把“*”改为“.*”就可以了,可是我试了一下,貌似还不行,请高手帮帮忙啊 'I:_}q  
j?g#8L;W\w  
  1.   for i=1:1:1000
  2.     for k=0:1:1000
  3.         j=2*pi;            %θ=2π
  4.         w=(2*pi)/(i/100);    %自振圆频率ω
  5.         t=k/100;           %时间
  6.         u(1)=0;            %初始位移为0
  7.         u1(1)=0;           %初始速度为0
  8.         c11=exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01+(g/sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01;
  9.         c12=exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01;
  10.         d11=(1/w^2)*(1+3*g/w*0.01+(4*g^2-1)/w^2*0.01^2)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01+(g+3*g/w*0.01+g(4*g^2-1)/w^2*0.01^2-3/2*w*0.01-2*g/w^2*0.01^2)*(1/w^2*sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01-(1/w^2)*(g/w*0.01+(4*g^2-1)/w^2*0.01^2);
  11.         d12=-(2/w^3*0.01)*(2*g+(4*g^2-1)/w*0.01)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01-(2*g^2+(4*g^2-1)*g/w*0.01-1-2*g/w*0.01)*(2/0.01*w^3*sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01+(1/w^2*0.01)*(2*(4*g^2-1)/w^2*0.01-0.01);
  12.         d13=(1/w^3*0.01)*(g+(4*g^2-1)/w^2*0.01)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01+(g^2+(4*g^2-1)*g/w*0.01-1/2-2*g/w*0.01)*(1/0.01*w^3*sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01-((4*g^2-1)/w^2*0.01-g/w)*(1/w^2*0.01);
  13.         c21=-(w/sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01;
  14.         c22=-(g/sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01+exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01;
  15.         d21=-(3+4*g/w*0.01)*(1/2*w^2*0.01)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01-(1+3*g/2*w*0.01+(2*g^2-1)/w^2*0.01^2)*(1/w*sqrt(1-g^2));
  16.         d22=(1+2*g/w*0.01)*(2/w^2*0.01)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01+(g+(2*g^2-1)/w*0.01)*(2/0.01*w^2*sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01-4*g/w^3*0.01^2;
  17.         d23=-(1+4*g/w*0.01)*(1/2*w^2*0.01)*exp(-g*w*0.01)*cos(w)*sqrt(1-g^2)*0.01-(g/2+(2*g^2-1)/w*0.01)*(1/0.01*w^2*sqrt(1-g^2))*exp(-g*w*0.01)*sin(w)*sqrt(1-g^2)*0.01+(1/(2*w^2*0.01))*(4*g/w*0.01-1);
  18.         u(k+2)=c11*u(k)+c12*u1(k)+d11*cos(j*(k+1))+d12*cos(j*(k+2))+d13*cos(j*(k+3));
  19.         u1(k+2)=c21*u(k)+c22*u1(k)+d21*cos(j*(k+1))+d22*cos(j*(k+2))+d23*cos(j*(k+3));
  20.         u11(k+2)=-2*g*w*u1(k+1)-w^2*u(k+1);
  21.     end
  22.     wy=max(u);
  23.     sd=max(u1);
  24.     jsd=max(u11);
  25. end   
  26.          %-------输出结果-------
  27.     fid=fopen('抛物线内插法位移解.txt','w');
  28.     fprintf(fid,'%15.5f\r\n',wy);
  29.     fclose(fid);
  30.     fid=fopen('抛物线内插法速度解.txt','w');
  31.     fprintf(fid,'%15.5f\r\n',sd);
  32.     fclose(fid);
  33.     fid=fopen('抛物线内插法加速度解.txt','w');
  34.     fprintf(fid,'%15.5f\r\n',jsd);
  35.     fclose(fid);
  36.     %---------画图-------
  37.     figure;
  38.     T=0.01:0.01:10;
  39.     plot(T,wy);
  40.     title('y(t)');
  41.     xlabel('T');
  42.     ylabel(g);
  43.     grid on;
  44.     %--------画图-------
  45.     figure;
  46.     T=0.01:0.01:10;
  47.     plot(T,sd);
  48.     title('y′(t)');
  49.     xlabel('T');
  50.     ylabel(g);
  51.     grid on;
  52.     %--------画图--------
  53.     figure;
  54.     T=0.01:0.01:10;
  55.     plot(T,jsd);
  56.     title('y′′(t)');
  57.     xlabel('T');
  58.     ylabel(g);
  59.     grid on;
  60.        
_;:_ !`  
离线xyd716

发帖
280
土币
2227
威望
765
原创币
0
只看该作者 1楼 发表于: 2010-05-16
不知道你程序是干什么的,能加个注释不能?
红尘中,为功名,只身异乡行。千山万水阻归程,相聚难,聚也太匆匆。
舐犊情,教诲声,恍如昨日影。且把相思付飞鸿,休哀鸣,莫把家人惊。
离线kengawk

发帖
69
土币
1377
威望
557
原创币
0
只看该作者 2楼 发表于: 2010-05-17
先确定出错位置,就好办了。 3II*NANeg  
离线hoverdyh

发帖
78
土币
204
威望
573
原创币
0
只看该作者 3楼 发表于: 2010-05-17
在MATLAB中,“*”为矩阵运算,“.*”为数组运算,可不能乱改,呵呵。 AVfF<E/  
你最好把程序发完整,大家可以帮你看看。
快速回复
限100 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个

      浙公网安备 33010602003799号 浙ICP备14021682号-1

      工业和信息化部备案管理系统网站