Stopping the automation of a 10 x 1 into a 10x10 matrix in Matlab.
조회 수: 4 (최근 30일)
이전 댓글 표시
S1 is a 10 x 1 double. and S is 1 x 2 double. I am doing some calculations with those numbers and in the end for my theta I should just get distinct 10 x 1 double array too. But for some reason I am getting 10 x 10 for theta. I don't understand why or how to fix it.
% Calculating the distance from original source location for all locations with error.
sx = S1(:,1) - S(1);
sy = S1(:,2) - S(2);
l = sqrt((sx).^2+ (sy).^2); %distance between original source location and error source locations.
zz = sqrt((S1(:,1)).^2+ (S1(:,2)).^2); % distance of error source locations from origin.
ss = sqrt((S(1)).^2+ (S(2)).^2); %distance of the source from origin.
% Calculating the resolution for a traingle with lengths l, zz, ss
n = (zz.^2 + ss.^2 - l.^2);
d = (2 .* zz .* ss);
theta = acos(n/d);
댓글 수: 0
채택된 답변
Star Strider
2021년 11월 20일
편집: Star Strider
2021년 11월 20일
Use element-wise dividion (./) iunstead of (/) in the acos call —
theta = acos(n./d)
.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!