Hi
How ca i solve the attached equation to find lamda ?
When all the other terms are known.

 채택된 답변

Jorge Mario Guerra González
Jorge Mario Guerra González 2017년 1월 20일

0 개 추천

If you want to get multiple answers use vpasolve function. Set the number of answers you want yo get and the code will pick some then in a random way.
syms lambda
Mt=1; % The value of your variables
m=1;
L=1;
lt=1;
eqn= 1+(cos(lambda)*cosh(lambda))+((lambda*Mt/(m*L))*(cos(lambda)*sinh(lambda)-sin(lambda)*cosh(lambda)))-((lt*lambda^3)/m*L^3)*(cosh(lambda)*sin(lambda)+sinh(lambda)*cos(lambda))+ ((Mt*lt*lambda^4)/m^2*L^4)*(1-cosh(lambda)*cos(lambda)) ==0;
for n = 1:50
vpasolve(eqn,lambda,'random',true)
end
this example gives you 50 answers. The answer before gives the first it finds.

댓글 수: 3

I obtain this error :
Undefined function 'vpasolve' for input arguments of type 'sym'.
Mallouli Marwa
Mallouli Marwa 2017년 1월 20일
How can i display this result in a vector
for n = 1:50 vpasolve (eqn,lambda,'random',true) end
syms lambda
Mt=1; % The value of your variables
m=1;
L=1;
lt=1;
eqn= 1+(cos(lambda)*cosh(lambda))+((lambda*Mt/(m*L))*(cos(lambda)*sinh(lambda)-sin(lambda)*cosh(lambda)))-((lt*lambda^3)/m*L^3)*(cosh(lambda)*sin(lambda)+sinh(lambda)*cos(lambda))+ ((Mt*lt*lambda^4)/m^2*L^4)*(1-cosh(lambda)*cos(lambda)) ==0;
k=zeros(1,50);
for n = 1:50
k(i)=vpasolve(eqn,lambda,'random',true)
end
that should create the vector

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

추가 답변 (1개)

Jorge Mario Guerra González
Jorge Mario Guerra González 2017년 1월 19일

0 개 추천

Just use the function solve, which uses numerical techniques to find variables.
try this.
syms lambda
Mt=1; % The value of your variables
m=1;
L=1;
lt=1;
%check if I wrote this correctly
eqn= 1+(cos(lambda)*cosh(lambda))+((lambda*Mt/(m*L))*(cos(lambda)*sinh(lambda)-sin(lambda)*cosh(lambda)))-((lt*lambda^3)/m*L^3)*(cosh(lambda)*sin(lambda)+sinh(lambda)*cos(lambda))+ ((Mt*lt*lambda^4)/m^2*L^4)*(1-cosh(lambda)*cos(lambda)) ==0;
value=solve(eqn,lambda) %solution for lamda

댓글 수: 2

Mallouli Marwa
Mallouli Marwa 2017년 1월 19일
This equation must have an infinite solutions but this method show only one solution.
John D'Errico
John D'Errico 2017년 1월 19일
You cannot find an infinite number of solutions. If you tried to write them all down, it would take infinitely long.

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by