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

J.Cam
J.Cam 2021년 5월 10일
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)
Brian Voke
Brian Voke 2021년 5월 10일
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.
J.Cam
J.Cam 2021년 5월 10일
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)
J.Cam
J.Cam 2021년 5월 10일
This worked! Thank you!
Brian Voke
Brian Voke 2021년 5월 10일
No problemo

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

태그

질문:

2021년 5월 10일

댓글:

2021년 5월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by