evalAt() does not work any way I use it

1 回表示 (過去 30 日間)
Diomedes
Diomedes 2012 年 10 月 19 日
When I try using evalAt() function I always get an error. I have tried using it in many different ways.
Example 1:
y=x^2;
evalAt(y, x=3)
Error: File: plot_test.m Line: 2 Column: 12
The expression to the left of the equals sign is not a valid target for an assignment.
I also tried to use subs() and still get error.
I also tried reinstalling MATLAB and did not work.
I will really appretiate any help, Thanks
  3 件のコメント
Matt Fig
Matt Fig 2012 年 10 月 19 日
編集済み: Matt Fig 2012 年 10 月 19 日
But SUBS has been around for longer...
Walter Roberson
Walter Roberson 2012 年 10 月 19 日
Yes, but the ability to use "=" in a symbolic expression (as opposed to assignment) is new in R2012a.
subs(y, x, 3)
not
subs(y, x=3)

サインインしてコメントする。

採用された回答

Star Strider
Star Strider 2012 年 10 月 19 日
編集済み: Star Strider 2012 年 10 月 19 日
Starting with 2012a, you can Create Symbolic Functions. This is probably the easiest way to do what you want:
syms x y
y(x) = x^2
z = y(3)
giving this result:
y(x) =
x^2
z =
9

その他の回答 (3 件)

Matt Fig
Matt Fig 2012 年 10 月 19 日
編集済み: Matt Fig 2012 年 10 月 19 日
What do you see when you type these? Do you see the help, or do you see function not found?
help evalAt
help subs
If you see 'function not found', then you don't have the symbolic toolbox installed, or you don't have a license checked out.

Sachin Ganjare
Sachin Ganjare 2012 年 10 月 19 日
編集済み: Sachin Ganjare 2012 年 10 月 19 日
Most probably you do not have 'Symbolic Math Toolbox' installed on your system. Check using 'ver' command.

Diomedes
Diomedes 2012 年 10 月 19 日
Actually I have the 2012b edition and I have made sure that the Symbolic Math toolbox is install.
I found a solution to my problem. I just used the function eval() and it worked. Thanks a lot for you help.

カテゴリ

Help Center および File ExchangeThermodynamics & Statistical Physics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by