声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1690|回复: 4

[编程技巧] 请指点编程技巧,解决矩阵维数不同问题

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

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

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

x
请指点编程技巧,解决矩阵维数不同问题
t=0:0.1:10
d=sqrt(1-exp(-2*t))
x=(1/d)*cos(t)

这样运行的结果是,d和x的维数不同,有什么技巧吗,高手指点下啊

如果做成循环则速度慢,不想用for
回复
分享到:

使用道具 举报

发表于 2007-7-14 10:47 | 显示全部楼层
t=0:0.1:10;
d=sqrt(1-exp(-2*t));
[d,t]=meshgrid(d,t);
x=(1/d).*cos(t);

评分

1

查看全部评分

发表于 2007-7-15 14:17 | 显示全部楼层
楼主想要的应该是这样的结果吧,不用专门用meshgrid建立网格数据了吧?
t=0:0.1:10;
d=sqrt(1-exp(-2*t));
x=(1./d).*cos(t);
楼主查阅一下点运算和矩阵运算的区别。一个是矩阵对应元素运算,一个是矩阵之间的运算
发表于 2007-7-15 16:34 | 显示全部楼层

回复 #2 w89986581 的帖子

二楼的程序小有问题:应是1./d而不是1/d,??? Error using ==> mrdivide
Matrix dimensions must agree. 问题依然存在,小小笔误:lol 不过知道你目前用的电脑上没装matlab(真不亏是个热心人,向你致敬!),3楼的是正解
发表于 2007-7-16 11:13 | 显示全部楼层
原帖由 21172485 于 2007-7-14 10:40 发表
请指点编程技巧,解决矩阵维数不同问题
t=0:0.1:10
d=sqrt(1-exp(-2*t))
x=(1/d)*cos(t)

这样运行的结果是,d和x的维数不同,有什么技巧吗,高手指点下啊

如果做成循环则速度慢,不想用for


初学者请多看看“写给学习matlab 的新手们”精华贴
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-10-3 00:23 , Processed in 0.058172 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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