Solve parametric equations involving two vectors

9 views (last 30 days)
Marol Valencia
Marol Valencia on 22 Nov 2021
Answered: Shanmukha Voggu on 2 Dec 2021
Hi, I am trying to create a function that finds a vector 'P ' from two parametric lines generated by vectors, these lines are 'O' and 'Bet'. 'P' is the point where these two lines meet. There seems to be a problem with the way I am defining the parameter 't', which describes this lines. How can I solve this?
function [P] = VCI (mag1, X, inicial1, mag2, Y, inicial2)
A = [mag1.*cosd(X) mag1.*sind(X)]'+inicial1;
B = [mag2.*cosd(Y) mag2.*sind(Y)]'+inicial2;
if X==Y || (X==Y+180 || Y==X+180)
syms t real
O= [-mag1.*sind(X).*t mag1.*cosd(X).*t]'+inicial1;
Bet=(A-B).*t+A;
S=solve(O==Bet,t);
P=(A-B).*S+A
end
%The following is an example of what I get when I run the code
>> VCI(10, 50, [0;0], 5, 50, [0;1])
Error using symengine
Array sizes must match.
Error in sym/privBinaryOp (line 1039)
Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
Error in .* (line 323)
X = privBinaryOp(A, B, 'symobj::zipWithImplicitExpansion', '_mult');
Error in VCI (line 9)
P=(A-B).*S+A
  1 Comment
Matt J
Matt J on 22 Nov 2021
You need to demonstrate the problem for us. We don't know how you ran this function or what you see as a result.

Sign in to comment.

Answers (1)

Shanmukha Voggu
Shanmukha Voggu on 2 Dec 2021
Hi Marol,
symengine is not recommended. Use equivalent Symbolic Math Toolbox™ functions that replace MuPAD®functions instead. For more information, see Compatibility Considerations.
Refer this for more information

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!