作者yaya517 (Abby)
看板MATLAB
标题[请益] 想请问关於多维矩阵计算问题
时间Mon Apr 4 16:24:45 2016
不好意思
这学期因为一门课的关系要用matlab写程式
但是却没有教如何使用
所以才开始自己学matlab
但是很多地方一直google以後还是不懂
所以只好想请问人
1.假设我有一个阵列A的维度是(2400,16,256,3)
如果我想针对第一个维度2400个点做计算
假设我已经把2400个点分别放入
(:,1,1,1)和(:,1,1,2)
然後我想把这2400个点,相同index做相减存入(:,1,1,3)
就是
A(1,1,1,3)=A(1,1,1,1)-A(1,1,1,2)
A(2,1,1,3)=A(2,1,1,1)-A(2,1,1,2)
A(3,1,1,3)=A(3,1,1,1)-A(3,1,1,2)
...
A(2400,1,1,3)=A(2400,1,1,1)-A(2400,1,1,2)
只用一行程式码(无回圈)
A(:,1,1,3)=A(:,1,1,1)-A(:,1,1,2)
请问是对的吗
2.请问如果我想取得这2400个点的max或avg
写成max(A(:,1,1,3))或是mean(A(:,1,1,3))是对的吗?
3.请问不同矩阵也可以这样吗?
如我宣告B=zeros(2400,1)
直接写A(:,1,1,3)-B(:,1)
结果会是对的吗
谢谢
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.73.20.217
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1459758288.A.210.html
※ 编辑: yaya517 (42.73.20.217), 04/04/2016 16:30:04
※ 编辑: yaya517 (42.73.20.217), 04/04/2016 16:30:51
1F:推 physbook: 2. 可以用max(A, 1)和mean(A,1),数字是维度的意思04/04 18:57
请问以矩阵A来说
我的2400个点就是第一个维度吗?
16是第二个维度、256是第三个维度?
但是我写成
max(A, 1)反而会发生compiler error
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
※ 编辑: yaya517 (42.73.20.217), 04/04/2016 19:06:50
2F:→ celestialgod: 1. 没错喔04/04 21:37
3F:→ celestialgod: 2. 可以那样算 3. 会是对的04/04 21:38
4F:→ celestialgod: 这个不是拿一个例子跑跑看就好了吗?04/04 21:38
非常谢谢您的回答QQ
您说的对
我应该拿一个小例子跑跑看的
谢谢~~
※ 编辑: yaya517 (42.73.20.217), 04/04/2016 22:56:47