Error using * Inner matrix dimensions must agree.

1 view (last 30 days)
Hello everyone. Could someone explain why this error is occuring here and correct my code.
I have no idea why dimension problem came out here. I would aprreciate for any conclunsions about it
clc;
clear all;
x1=0:0.001:1;
x2=1:0.001:10;
y=16;
a=input('Których chcesz obrać przypadek E<Vo (1) czy E>Vo (2) ');
if a==1;
disp('Wybrano zalozenie E<Vo');
f=1/(1+((1/(4*x1*(1-x1)))*(sinh(sqrt(y*(1-x1)))^2)));
figure (1)
plot(f,x1);
grid on;
title('x1');
elseif a==2;
disp('Wybrano zalozenie E>Vo');
g=1/(1+((1/(4*x2*(x2-1)))*(sin(sqrt(y*(x2-1)))^2)));
figure (2)
plot(g,x2);
grid on;
title('x2');
end
Command window: 132.jpg

Accepted Answer

Adam
Adam on 30 Jan 2019
Edited: Adam on 30 Jan 2019
Unless you meant matrix multiplication, in which case you likely need to transpose one side of the * then what you need is .* for element-wise multiplication.
See
doc times

More Answers (2)

madhan ravi
madhan ravi on 30 Jan 2019
Edited: madhan ravi on 30 Jan 2019

Krystian Leszkowicz
Krystian Leszkowicz on 30 Jan 2019
Key to unslove this problem was to add "." before each mathemtical sign ( .*, ./).
Thank u guys a lot.

Categories

Find more on Loops and Conditional Statements 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!