"Inner matrix dimensions must agree"

16 views (last 30 days)
Hi all,
I know this is simple, but I still can't see the solution. I'm trying to plot a function which uses the 4th power of sinh and cosh. I can't figure out how to communicate it to MATLAB properly, so
k = 1.3 * 10^(-23);
T1 = 100;
T2 = 200;
T3 = 300;
j = 0:10:500;
lambda = 2* cosh(j) * (1 + 2 * sqrt(4 * sinh(j) * sinh(j) * sinh(j) * sinh(j) +1) );
F1 = k * T1 * log(lambda);
F2 = k * T2 * log(lambda);
F3 = k * T3 * log(lambda);
plot(j, F1(j), j, F2(j), j, F3(j))
hleg1 = legend('at 100 K', 'at 200 K', 'at 300 K');
results in
Error using *
Inner matrix dimensions must agree.
Error in Energy (line 8)
lambda = 2* cosh(j) * (1 + 2 * sqrt(4 * sinh(j) * sinh(j) * sinh(j) *
sinh(j) +1) );
Could anyone tell me how to reformulate line 8?
Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 14 Mar 2013
Change
sqrt(4 * sinh(j) * sinh(j) * sinh(j) * sinh(j) +1)
to
sqrt(4 * sinh(j).^4 + 1)
  3 Comments
ChristianW
ChristianW on 14 Mar 2013
... cosh(j) .* (1 + ...
and
plot(j, F1, j, F2, j, F3)
Nina
Nina on 14 Mar 2013
Yes, that solved it! Thank you very much, Christian!

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!