solve with parameter

2 次查看(过去 30 天)
Matus
Matus 2012-3-18
hello, i need to solve the equation with parameter. I have a problem with solution.
First, I wrote easy equation with parameter n.
syms x positive
n=2;
solve(x-n) %equation has this form x-n=0
it works great
then I wrote
n=2;
solve(-n+x)
but the solution was not equal as in the first case.
I dont know what's wrong. Can you help me please. Thank you.
  2 个评论
Alexander
Alexander 2012-3-19
I get the same result in both cases:
ans =
2
I have no idea what's wrong. Could you please share your results?
Matus
Matus 2012-3-19
Sorry Alexander, I wrote a bad code. The problem was when I define
syms x
n=num2str(2);
solve(x-n) %result 2
solve(-n+x) %result 50

请先登录,再进行评论。

采纳的回答

Alexander
Alexander 2012-3-19
Try to avoid num2str during calculations. This will convert the input into a string. A string is basically an array of character codes. If you do anymore calculations with it, it will be treated as an array of values, like in this example
>> A = num2str(12345);
>> A+0
ans =
49 50 51 52 53
The number 50 stands for the character '2'. This is why -n results in -50 in your example above.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by