MATLAB Answers

## Implement the following matrix

Tipu Sultan

### Tipu Sultan (view profile)

さんによって質問されました 2019 年 5 月 15 日

### Tipu Sultan (view profile)

さんによって コメントされました 2019 年 5 月 15 日
Jan

### Jan (view profile)

さんの 回答が採用されました
I want implement a matrix which as follows: where i is a subscript in my it will be a for loop which execute i=1:3 and theta,r,a,b,p,q,t arrays. theta,r,t are 1*3 matrix.a,b,p,q are 1*1 matrix.
The following is my approach:
theta = [ 45 46 48] ;
t= [ 1 2 3 ];
r= [200 210 220];
for i=1:3
dif_x = [(-cos(theta(i))) (r(i).*sin(theta(i))) (2*a.*t(i)+b);...
(-sin(theta(i))) (-r(i).*cos(theta(i))) (2*p.*t(i)+q)]
end
I want to know am I donig correct or not! and if I am wrong what will be the coorect approach.
Thanks in advance.

#### 0 件のコメント

サインイン to comment.

R2015b

## 1 件の回答

### Jan (view profile)

2019 年 5 月 15 日
採用された回答

The code overwrites dif_x in each iteration. Maybe you want to collect the different matrices instead:
theta = [ 45 46 48] ;
t = [ 1 2 3 ];
r = [200 210 220];
dif_x = zeros(2, 3, 3); % Pre-allocation
for i=1:3
dif_x(:, :, i) = [-cos(theta(i)), r(i).*sin(theta(i)), 2*a.*t(i)+b;...
-sin(theta(i)), -r(i).*cos(theta(i)), 2*p.*t(i)+q];
end
It is safer to separate the elements of arrays by commas.

Tipu Sultan

### Tipu Sultan (view profile)

2019 年 5 月 15 日
Thank you for the prompt reply. Exactly I want to work with with each matrix for a particular iteration.

サインイン to comment.