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)
Pablo Zarco
Pablo Zarco on 27 Jan 2021
Answered: David Hill on 27 Jan 2021
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

Tags

Products

Community Treasure Hunt

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

Start Hunting!