qwer20032003200 发表于 2009-7-6 17:24

关于矩阵中表达式矢量化的问题,谢谢!

现有一个列向量形式为 [   x^2],x为变量,想对其中的表达式矢量化,即变成[   x.^2] ,为的是可以把行向量形如x=1:10代入以得到一个
                                     [ 2*x^2 ]                                                                         [ 2*x.^2 ]
                                     [ 3*x^2 ]                                                                         [ 3*x.^2 ]
矩阵,由于实际向量元素较多,希望不用for循环,望各位高人指教。

[ 本帖最后由 qwer20032003200 于 2009-7-6 17:37 编辑 ]

friendchj 发表于 2009-7-6 18:10

如果你的表达式已经在m文件了,用查找和替换功能把 x 换成 x. 即可。

qwer20032003200 发表于 2009-7-6 20:37

谢谢!但是实际的表达式是生成的,而且十分复杂,不太容易做这种替换。

心灯 发表于 2009-7-6 21:13

对你的题目我理解不是很清楚,你看这样能否解决你的问题
>> x=0:0.1:1;
>> aa= 1:5;%假设有5行
>> aa(:)*x.^2

ans =

         0    0.0100    0.0400    0.0900    0.1600    0.2500    0.3600    0.4900    0.6400    0.8100    1.0000
         0    0.0200    0.0800    0.1800    0.3200    0.5000    0.7200    0.9800    1.2800    1.6200    2.0000
         0    0.0300    0.1200    0.2700    0.4800    0.7500    1.0800    1.4700    1.9200    2.4300    3.0000
         0    0.0400    0.1600    0.3600    0.6400    1.0000    1.4400    1.9600    2.5600    3.2400    4.0000
         0    0.0500    0.2000    0.4500    0.8000    1.2500    1.8000    2.4500    3.2000    4.0500    5.0000

qwer20032003200 发表于 2009-7-6 22:57

哦,你的回复提醒了我的思路,程序编出来了,谢谢了!!
用meshgrid进行二维赋值就行了

[ 本帖最后由 ChaChing 于 2009-7-6 23:03 编辑 ]

beyondhxf 发表于 2009-7-7 09:14

回复 楼主 qwer20032003200 的帖子

help vectorize
页: [1]
查看完整版本: 关于矩阵中表达式矢量化的问题,谢谢!