MATLAB乘以迭代器里面PARFOR数组索引 - 切片 [英] Matlab multiplied iterator for array index inside parfor - slicing

查看:1276
本文介绍了MATLAB乘以迭代器里面PARFOR数组索引 - 切片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能切片3'rd线(TT)?这code是简化的,但问题是相似的。我正在使用数组索引相乘迭代器(3 * I),但它不工作。也许这是可能以某种方式改变它。

Is it possible to slice 3'rd line (tt)? This code is simplified, but the problem is similar. I am using multiplied iterator (3*i) in array index, however it doesn't work. Maybe it is possible to change it somehow.

parfor i = 1 : NE      
   tmp = i * [1, -1; -1, 1];                 
   tt(3*i-1:3*i+1) = tmp([3,2,4]);          
   pp(i) = tmp(1,1,i);   
end;

感谢:)

推荐答案

要成为的切片输出变量 TT 必须使用仅字面上循环变量我,和其他常数项(包括)。也许你可以让 TT 矩形,并在指定的时间一整列,然后再重新塑造,是这样的:

To be a sliced output variable, tt must be indexed using literally only the loop variable i, and other constant terms (including :). Perhaps you can make tt rectangular, and assign a whole column at a time, and then reshape later, something like this:

tt = zeros(3, 10);  
parfor ii = 1:10
  tt(:, ii) = [ii; ii; ii];
end
tt = reshape(tt, 1, numel(tt));

这篇关于MATLAB乘以迭代器里面PARFOR数组索引 - 切片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆