24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1025  |  回复: 8

【★NIC★S】

新虫 (初入文坛)

[求助] Matlab编程问题已有2人参与

E=[-2 -1 0 1 2;
   -2 -1 0 1 2;
   -2 -1 0 1 2;

   -2 -1 0 1 2;

   -2 -1 0 1 2];

e=E';

a=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];

for i=1:9

U=a(i)*E+(1-a(i))*e;

end

round(U);

我想写个3个矩阵E,U和e其中e=E的转置U=aE+(1-a)e;a为一个变量取值(0~1)随便取10个数就好了,最后U四舍五入取整,上面我写的程序,运行不来。大家帮忙解惑一下!谢谢了!

[ 发自手机版 http://muchong.com/3g ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njuzwr

铁虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
a的列数等于矩阵E的行数 才可以相乘a*E
运算符

[ 发自小木虫客户端 ]
2楼2014-05-08 11:12:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reko34

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你的for循环是干嘛用的?这样运行U只会保存最后1次结果,前面全白算。看你的解释,直接这样写就行了
U=a*E+(1-a)*e;
3楼2014-05-08 11:22:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

【★NIC★S】

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by njuzwr at 2014-05-08 11:12:34
a的列数等于矩阵E的行数 才可以相乘a*E
运算符

恩好的,谢了我试试

[ 发自手机版 http://muchong.com/3g ]
4楼2014-05-08 11:44:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

【★NIC★S】

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by reko34 at 2014-05-08 11:22:27
你的for循环是干嘛用的?这样运行U只会保存最后1次结果,前面全白算。看你的解释,直接这样写就行了
U=a*E+(1-a)*e;

恩,先谢了!我希望得到U是一个大矩阵,其中当a每取一个值,都能算一个小矩阵,这个小矩阵是大矩阵里的一个元素。例如u=[[1 2 3;3 4 4] [2 3 4;3 4 5];
   [2 3 3;3 4 4 ] [2 3 4;4 4 4]]其中U里面的每个元素也是一个小矩阵!这样用Matlab能实现?谢谢了。

[ 发自手机版 http://muchong.com/3g ]
5楼2014-05-08 11:54:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

【★NIC★S】

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by njuzwr at 2014-05-08 11:12:34
a的列数等于矩阵E的行数 才可以相乘a*E
运算符

恩,a是一个一维矩阵,我用的是a的每一个元素,与E(e)相乘!这怎么弄!

[ 发自手机版 http://muchong.com/3g ]
6楼2014-05-08 12:05:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

【★NIC★S】

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by njuzwr at 2014-05-08 11:12:34
a的列数等于矩阵E的行数 才可以相乘a*E
运算符

我试试了一下这样就能有结果,但是一循环算不出了,循环应该怎么改!
E=[-2 -1 0 1 2;

   -2 -1 0 1 2;

   -2 -1 0 1 2;

   -2 -1 0 1 2;

   -2 -1 0 1 2];

e=E';

a=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9];

U=a(1)*E+(1-a(1))*e



U =



   -2.0000   -1.9000   -1.8000   -1.7000   -1.6000

   -1.1000   -1.0000   -0.9000   -0.8000   -0.7000

   -0.2000   -0.1000         0    0.1000    0.2000

    0.7000    0.8000    0.9000    1.0000    1.1000

    1.6000    1.7000    1.8000    1.9000    2.0000

[ 发自手机版 http://muchong.com/3g ]
7楼2014-05-08 12:15:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

reko34

木虫 (正式写手)

引用回帖:
5楼: Originally posted by 【★NIC★S】 at 2014-05-08 11:54:41
恩,先谢了!我希望得到U是一个大矩阵,其中当a每取一个值,都能算一个小矩阵,这个小矩阵是大矩阵里的一个元素。例如u=其中U里面的每个元素也是一个小矩阵!这样用Matlab能实现?谢谢了。
...

U=zeros(5,5,9);
for i=1:9
        U(:,:,i)=a(i)*E+(1-a(i))*e;
end

» 本帖已获得的红花(最新10朵)

8楼2014-05-08 12:35:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

【★NIC★S】

新虫 (初入文坛)

送红花一朵
引用回帖:
8楼: Originally posted by reko34 at 2014-05-08 12:35:58
U=zeros(5,5,9);
for i=1:9
        U(:,:,i)=a(i)*E+(1-a(i))*e;
end...

灰常感谢了!

[ 发自手机版 http://muchong.com/3g ]
9楼2014-05-08 14:21:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 【★NIC★S】 的主题更新
信息提示
请填处理意见