keeping equations in different formats

Hello All.
I have a problem. In my project I have three equations which in times I use with symbolic analysis and some times with numerical values. The problem is that I cannot keep the equations as syms due to the following reasons:
1. I need to always change update the syms in different parts of the code and functions 2. Using subs or eval commands take a lot of time mainly when I use loops to change the values.
Is there a way that I could have the equations saved and call them at symbolic form or numerical form and change the variables without using subs/eval?
Thanks!
Gil,

8 Comments

How about encapsulating and using functions?
Thanks for your reply!
I did not understand your suggestions, can you please elaborate?
Thanks!
Ok, but could you please provide an example of what you mean. I am having a hard time understanding exactly what you are trying to achieve.
Hi,
lets say I have an equation D=A+B+2C=4
I want a way that I could call this equation as symbolic so I could drevive, for example diff(D,C)=....
and in another time I could just say that A=1 D=2 (without subs commnad) because the subs command works very slow and if I want to change values in a loop it take a lot of time ( 5 min..) since my original equation is very big.
At the moment I copy&paste of the equation when used to in a loop.
I hope I'm clear enough.
Gil,
"D=A+B+2C=4"
D=4
Thanks Stephen
I did not understand how to place values in the variables
Gil,
Of course, that won't work if your numeric values keep changing. You'll have to use subs. Can you provide an example where subs is too slow?
Hi Karan, Thanks for your reply.
As for the slowness of subs, this was my doing, I have forgotten to place 'double' in front of the 'subs' so the result was an array of sym...
For advice regrading save , load for the equation object!
Thanks!
Gil,

Sign in to comment.

 Accepted Answer

Gil maor
Gil maor on 3 Aug 2017
Thanks All.
Problems solved using sym('avr') when ever calling on the equatiobs
Thanks ALL!!

More Answers (1)

I suggest that you could keep a struct, one field of which is the symbolic form, and another is the result of calling matlabFunction to transform the symbolic form to a function handle for numeric work.

Products

Tags

Asked:

on 1 Aug 2017

Answered:

on 3 Aug 2017

Community Treasure Hunt

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

Start Hunting!