[讨论]想写一种矩阵

楼主: ljuyentintho (小刘)   2016-03-10 19:44:03
假设Ai是一组随机产生的乱数
A1=一个乱数,A2=一个乱数,A3=一个乱数,........Ai=一个乱数
i=n(n可以是任意正整数)
我想写一种矩阵是以下形式
[n*An n*An n*An (n-1)*An-1 (n-1)*An-1 (n-1)*An-1 .......A1 A1 A1]
例如n=3时
矩阵就会是[3*A3 3*A3 3*A3 2*A2 2*A2 2*A2 A1 A1 A1]
请问该怎么写
卡关好几天了
请大家帮帮忙
作者: Jazzmusic (Jazz)   2016-03-10 21:12:00
设A为一阵列, 再用循环,应该不会太难吧
作者: celestialgod (天)   2016-03-10 21:22:00
A = repmat(1:n .* rand(1, n), 3, 1); A(:)'即为所得A = repmat((1:n) .* rand(1, n), 3, 1); A(:)'()一定要加,不然会被当成 1:(n.*rand(1,n))虽然不知道为啥这样没错误讯息= =
作者: sunev (Veritas)   2016-03-11 01:17:00
If you specify nonscalar arrays, MATLAB interpretsj:i:k as j(1):i(1):k(1).
作者: celestialgod (天)   2016-03-11 08:38:00
喔喔,谢谢楼上!! 我觉得他应该跟R一样给警告...
作者: sunev (Veritas)   2016-03-11 08:40:00
这可以算feature啦......虽然我也是去查了help才知道
作者: celestialgod (天)   2016-03-11 08:52:00
ㄜ,给个警告可能会好一点XDD
作者: sunev (Veritas)   2016-03-11 11:01:00
这种基本语法,定了就定了,要变动反而麻烦。就好像c里面 if(x=0) 可以过,但matlab 会吐error。

Links booklink

Contact Us: admin [ a t ] ucptt.com