what is wrong in this code

12 vues (au cours des 30 derniers jours)
Angad Singh Agarwal
Angad Singh Agarwal le 12 Fév 2017
Commenté : Torsten le 13 Fév 2017
syms t;
y=(3.7).*(10).^17;
y=3.88*(10).^16.*(t).^(1.5).*exp(-7000./t);
k=solve(y);
  1 commentaire
Stephen23
Stephen23 le 12 Fév 2017
@Angad Singh Agarwal: I formatted your code correctly by selecting the code text and then clicking the {} Code button. Next time you can do this yourself.

Connectez-vous pour commenter.

Réponses (2)

sjoerd
sjoerd le 12 Fév 2017
Modifié(e) : sjoerd le 12 Fév 2017
Althought it is not completely clear to me what your question/problem exactly is, I will give it a try I assumed that you want to solve the following equation for t:
3.7e17 = 3.88e16*(t)^(1.5)*exp(-7000./t)
Please note the use of 'e' for the scientific notations which makes its way shorter. Next to this I removed the dots because no need to solve this element wise (only scalar calculations).
The main problem with your code is that you first assign a value to to 'y' and then overwrite this value with the full equation. So introducing a different variable gives the following.
syms t;
result=3.7e17;
y=3.88e16*(t)^(1.5)*exp(-7000/t);
k=solve(y==result);
And this solves for t, (it will give warning that it is not symbolically solved but a numerical approximation is used).
k = 833 (approximately)
  3 commentaires
Angad Singh Agarwal
Angad Singh Agarwal le 13 Fév 2017
Modifié(e) : per isakson le 13 Fév 2017
showing following error
??? Error using ==> char
Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189
vc = char(v);
Error in ==> solve at 67
[eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4
k=solve(y==result);
??? Error using ==> char
Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189
vc = char(v);
Error in ==> solve at 67
[eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4
k=solve(y==result);
??? Error using ==> char
Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189
vc = char(v);
Error in ==> solve at 67
[eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4
k=solve(y==result);
sjoerd
sjoerd le 13 Fév 2017
I think you need to give us a little bit more information, which Matlab version do you use? I am using R2015a and it works fine. Furthermore showing a single error stack is also fine ;)

Connectez-vous pour commenter.


Torsten
Torsten le 13 Fév 2017
syms t
result=3.7e17;
y=3.88e16*(t)^(1.5)*exp(-7000/t);
k=solve(y==result,t);
Best wishes
Torsten.
  2 commentaires
Angad Singh Agarwal
Angad Singh Agarwal le 13 Fév 2017
??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t); ??? Error using ==> char Conversion to char from logical is not possible.
Error in ==> solve>getEqns at 189 vc = char(v);
Error in ==> solve at 67 [eqns,vars] = getEqns(varargin{:});
Error in ==> Untitled2 at 4 k=solve(y==result,t);
Torsten
Torsten le 13 Fév 2017
You seem to use an older MATLAB version.
Take a look into your documentation to see how to use "solve" for your release.
Best wishes
Torsten.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by