MATLAB Answers

0

Need help with 1/ matrix in problem

Asked by Richard Morrill on 18 Sep 2019
Latest activity Commented on by Stephen Cobeldick on 19 Sep 2019
I have an equation that must be solved that keeps throwing the error "Error using /
Matrix dimensions must agree."
The code I have is
% Finding Delt H
syms dh
eqn2=log(p_rng)== (dh/R)*(1/t_rng)
for i=1:300
D_h(i,:)=double(vpa(solve(eqn2(i),dh)));
end
It seems as though 1/t_rng is what causes the error. When changed to just t_rng the error no longer occures

  1 Comment

size(p_rng)
size(t_rng) % ?
Do you realise there is only one eqn2 but then you run a loop through it ? Probably you meant to run a loop through variable elements of t_rng and p_rng ? Beware D_h isn’t preallocated.

Sign in to comment.

1 Answer

Answer by Kevin Phung on 18 Sep 2019
Edited by Kevin Phung on 18 Sep 2019

you're going to need the dot operator (.) for element-wise operations.
Probably something like this:
syms dh
eqn2=log(p_rng)== (dh./R).*(1./t_rng)
for i=1:300
D_h(i,:)=double(vpa(solve(eqn2(i),dh)));
end

  1 Comment

Read this to know the differences between array and matrix operations:

Sign in to comment.