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

w89986581 发表于 2007-7-14 10:47

t=0:0.1:10;
d=sqrt(1-exp(-2*t));
=meshgrid(d,t);
x=(1/d).*cos(t);

rocwoods 发表于 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楼的是正解

eight 发表于 2007-7-16 11:13

原帖由 21172485 于 2007-7-14 10:40 发表 http://www.chinavib.com/forum/images/common/back.gif
请指点编程技巧,解决矩阵维数不同问题
t=0:0.1:10
d=sqrt(1-exp(-2*t))
x=(1/d)*cos(t)

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

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

初学者请多看看“写给学习matlab 的新手们”精华贴
页: [1]
查看完整版本: 请指点编程技巧,解决矩阵维数不同问题