Summation using For Loop

I have to solve the equation for 'a'.
Now x are the elements in the following array:
x=[0.56746089 0.60481729 0.622521 0.53714241 0.60310756 1.07806689 1.19968209 1.05637284 1.14618436 0.94031809];
My problem is that I do not know how to call the elements in the array in a function.

 采纳的回答

Brian Voke
Brian Voke 2021-5-10

0 个投票

To call a specific element from an array or matrix you can use this notation: for matrix x the first element would be x(1), the second element would be x(2) and so on. If you're just trying to find the solution to that equation where each element in a corresponds to a solution with a single element in x then you can write the equation using element wise operators to multiply matrices element wise the operator is preceded with period. (So a times x would be written as a .*x). Then you could solve the equation using the solve function.

6 个评论

Thanks for the reply, I tried this but I kept having an error.
x=[0.7569
0.69956496
0.60109009
0.67519089
0.14676561
0.72607441
0.65302561
0.40106889
0.71284249
0.69022864];
syms a
m=((x(i,1)).*cos(a.*(x(i,1)))./(sin(a.*((x(i,1))))));
ftn = 10/a + symsum(m,1,10)
value=vpasolve(ftn==0,a)
I'm not sure exactly how you'd format this to work, but I believe your current error is that your trying to use symsum to sum the variable i, but you do not have i as a symbolic variable. Including i as a symbolic variable is a step in the right direction, but I think you may have to look more into the inputs and setup for symsum before you'll get this working right.
What's the best way to go about it? Is there an easier way?
I would double check to make sure I didn't mess up any parantheses but I think this is a solution. This works because there's only 10 elements in the x matrix so it's not like you need to specify which elements you want to run then sum. The elementwise multiplication makes it so that the resulting m matrix has 10 elements each corresponding to an element in x. So the normal sum function should work.
x=[0.7569
0.69956496
0.60109009
0.67519089
0.14676561
0.72607441
0.65302561
0.40106889
0.71284249
0.69022864];
syms a
m=(x.*cos(a.*(x))./(sin(a.*x)));
ms=sum(m);
ftn = 10/a + ms;
value=vpasolve(ftn==0,a)
This worked! Thank you!
No problemo

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by