finding the right matrix
Show older comments
ni(i,1:2) is supposed to be a 2x2 vector but i keep getting a 1x2, help please
x = [0 0; 200 0; 200 25; 25 25; 25 200; 0 200;0 0];
n = size(x,1); % size will be equal to 7
n = n-1;
% initialize properties
Asum = 0 ; % a scalar
psum = zeros(1,2); % 1 x 2 matrix
R = zeros(2,2); % 2 x 2 matrix
% 3. loop over sides
for i = 1:n % 5 points
h(i) = norm(x(i,:));
% from 3a as well
ni(i,1:2) = x(i,:)'; %------------------------------------
b(i) =norm(x(i+1,:)-(x(i,:)));
mi(i,1:2) = (x(i+1,:)-x(i,:))';
if h>0
ni = ni/h(i);
end
if b(i)>0
mi(i,1:2) = mi(i,1:2)/b(i);
end
5 Comments
Walter Roberson
on 4 Aug 2019
In order for ni(i, 1:2) to be 2x2 then i would need to be a vector of length 2. But you are in a for i loop so i is a scalar.
alexis cordova
on 4 Aug 2019
Walter Roberson
on 4 Aug 2019
Edited: Walter Roberson
on 4 Aug 2019
Do you want ni(i,1:2) to end up being two copies of x(i,:)' with both columns the same? If not then which two rows should be used, and should you be using two rows for norm(x(i,:));
alexis cordova
on 4 Aug 2019
Walter Roberson
on 4 Aug 2019
mi(i,1:2) = (x(i+1,:)-x(i,:))';
The left hand side is one row and two columns. Perhaps you want
mi(1:2, i) = (x(i+1,:)-x(i,:)).';
Answers (0)
Categories
Find more on Special Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
