MATLAB Answers


Solving a sum of series of exponential function with a sum of series of cosine function inside

Asked by Cheung Ka Ho on 2 Jul 2017
Latest activity Commented on by Cheung Ka Ho on 10 Jul 2017
Here is the equation I'm going to solve.
where epsilon is a variable.
I wrote the following code.
r = 1:(2^h)-1;
v = 1:h-1
T = exp(x*h/1000)+sum(exp((x/1000)*(cos(2*pi*r/(2^h))+cos(2*pi*r*(2^v)/(2^h)))));
I can run the code when h=2; however, when h becomes greater than or equal to 3, an error that input must be a scalar and a square matrix shows up.
Could anyone please help me on this error?


After I changed the code into 2.^v, another main problem comes out, which is inner matrix dimensions must agree. I just want to calculate the summation. How can I rewrite the code to ignore the dimensions of r and 2.^v?
Is "epsilon" in your equation a given function ?
Is "e" in your equation the usual Euler-number ?
A closing round parenthesis is missing in your picture.
What does e{...} mean ? Does it mean exp(...) ?
Please clarify.
Best wishes
epsilon is only a variable while e is the usual Euler-number. I mistakenly type it as e{...}. It should be e^{...}. Thank you for your help.

Sign in to comment.

2 Answers

Answer by Torsten
on 5 Jul 2017
Edited by Torsten
on 5 Jul 2017
 Accepted Answer

Best wishes

Answer by Matthew Taliaferro on 2 Jul 2017
Edited by Matthew Taliaferro on 3 Jul 2017

You cannot raise things to a power unless they are scalar or square (like the warning said). If you want to square each element, the notation is a little different.
h = 1:10
h_square = h.^2 % as opposed to h^2, which won't work
You also cannot divide something element by element unless it is a scalar.
r = 1:10; h = 1:10;
r_over_h = r./(h.^2); % as opposed to r/(h^2), which won't do what you think it does

  1 Comment

Thank you for your help. It solves the above error. However, another problem that inner matrix dimensions must agree comes out. How can I resolve this error?

Sign in to comment.