why is this program keep telling me this error: Unable to perform assignment because the left and right sides have a different number of elements.

1 view (last 30 days)
clear;clc;
V=[1 2 3 4];
A=3;
%preallocation
C=zeros(1,numel(V));
xSol=zeros(1,numel(V));
ySol=zeros(1,numel(V));
for i=1:numel(V)
C(i)=V(i)-A;
syms x y
eqn1=C(i)*x+y==2;
eqn2=-x+y==3;
sol=solve([eqn1 eqn2],[x y]);
xSol(i)=double(sol.x);
ySol(i)=double(sol.y);
end
  2 Comments
Pablo Zarco
Pablo Zarco on 27 Jan 2021
This is the message in the command window
Unable to perform assignment because the left and right sides have a different number of elements.
Error in Untitled2 (line 14)
xSol(i)=double(sol.x);

Sign in to comment.

Answers (1)

David Hill
David Hill on 27 Jan 2021
I would avoid symbolic if you can
V=[1 2 3 4];
A=3;
Sol=zeros(2,length(V));
for i=1:length(V)
Sol(:,i)=[V(i)-A,1;-1,1]\[2;3];
end

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!