声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 8015|回复: 13

[编程技巧] Inner matrix dimensions must agree出错求助

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

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

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

x
我输入了一个这样的信号:z=sin(2*pi*(40+30*t)*t);
为什么提示这样的错误?
??? Error using ==> mtimes
Inner matrix dimensions must agree.
看了半天帮助文件也没看懂,恳请帮忙解释一下,
还有就是如果输入这样一个信号:

z=sin(2x),(0<x<3) z=6sin(4x),(3<x<6)

请问在matlab里怎么写?

先谢了

[ 本帖最后由 eight 于 2007-12-11 15:59 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-12-11 14:28 | 显示全部楼层
z=sin(2*pi*(40+30.*t).*t);
 楼主| 发表于 2007-12-11 14:38 | 显示全部楼层
发表于 2007-12-11 15:50 | 显示全部楼层
z=sin(2x),(0<x<3) z=6sin(4x),(3<x<6)

x=linspace(0,3);
z=sin(2*x);

x=3:0.1:6;
z=6*sin(4*x);
发表于 2007-12-11 15:59 | 显示全部楼层
原帖由 prideheart 于 2007-12-11 14:25 发表
我输入了一个这样的信号:z=sin(2*pi*(40+30*t)*t);
为什么提示这样的错误?
??? Error using ==> mtimes
Inner matrix dimensions must agree.
看了半天帮助文件也没看懂,恳请帮忙解释一下,
还有就是如 ...


建议楼主多看看置顶帖,出错的问题都有。另外一个问题请看基础书,这是“:”运算符的用处之一

[ 本帖最后由 eight 于 2007-12-12 10:15 编辑 ]
 楼主| 发表于 2007-12-12 09:43 | 显示全部楼层
原帖由 sigma665 于 2007-12-11 15:50 发表
z=sin(2x),(0

这个运行的不对啊,z的值只有[3,6]那段啊


谢了,昨天刚借到版上推荐的那本外国人写的书

[ 本帖最后由 prideheart 于 2007-12-12 10:11 编辑 ]
发表于 2007-12-12 10:15 | 显示全部楼层
原帖由 prideheart 于 2007-12-12 09:43 发表
这个运行的不对啊,z的值只有[3,6]那段啊

请学会举一反三,自己完成,不能太依赖别人
发表于 2007-12-12 10:26 | 显示全部楼层
原帖由 prideheart 于 2007-12-12 09:43 发表

这个运行的不对啊,z的值只有[3,6]那段啊


谢了,昨天刚借到版上推荐的那本外国人写的书



同时运行的?后面的z把前面的覆盖了,后面的换个字母就可以了
 楼主| 发表于 2007-12-12 10:31 | 显示全部楼层
原帖由 sigma665 于 2007-12-12 10:26 发表



同时运行的?后面的z把前面的覆盖了,后面的换个字母就可以了


我是想处理这样一个信号:在(0,3)时y=sin(2x),在(3,6)时y=sin(4x),如果换了字母,不就不对了吗?
而且这里我觉得也不用linspace的吧?
 楼主| 发表于 2007-12-12 10:32 | 显示全部楼层
原帖由 eight 于 2007-12-12 10:15 发表

请学会举一反三,自己完成,不能太依赖别人


完全接受你的建议,这些天,我一直在实验各种信号用hht分解出来的结果。
所以提出了上面的问题,呵呵 多谢提醒
发表于 2007-12-12 10:36 | 显示全部楼层
原帖由 prideheart 于 2007-12-12 10:31 发表


我是想处理这样一个信号:在(0,3)时y=sin(2x),在(3,6)时y=sin(4x),如果换了字母,不就不对了吗?
而且这里我觉得也不用linspace的吧?


用“:”运算符就可以了,或者按照 sigma 版主的做法,不过最后要把两个变量连接起来
 楼主| 发表于 2007-12-12 11:16 | 显示全部楼层
原帖由 eight 于 2007-12-12 10:36 发表


用“:”运算符就可以了,或者按照 sigma 版主的做法,不过最后要把两个变量连接起来


我用sigma斑竹的作法,然后把两个变量连接起来,行了,但是看上去语句有些罗嗦。
请问你说的用“:“写出来语句应该很简练吧?具体怎么实现?
发表于 2007-12-12 11:39 | 显示全部楼层
原帖由 prideheart 于 2007-12-12 11:16 发表
请问你说的用“:“写出来语句应该很简练吧?具体怎么实现?

举例:

  1. s=zeros(100,1);
  2. s(1:50,1) = 1;
  3. s(51:end,1) = 2;
复制代码
发表于 2007-12-12 11:39 | 显示全部楼层

回复 #12 prideheart 的帖子

x=0:0.1:3;
z(1:31)=sin(2*x);

x=3:0.1:6;
z(32:62)=6*sin(4*x);

直接这样就可以了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-12 15:38 , Processed in 0.065117 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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