index notation symbolic toolbox

17 vues (au cours des 30 derniers jours)
Dinant
Dinant le 4 Nov 2013
Commenté : Steven Lord le 26 Fév 2020
example: fi = sym('fi',[1 2]) fi =
[ fi1, fi2]
I want this to be: fi =
[ fi(1), fi(2)]
This in order to use outcome of symbolic manipulation directly in my matlab code.
  4 commentaires
Sean de Wolski
Sean de Wolski le 20 Fév 2014
Dinant, I answered your question and provided you with code that does exactly what you asked for. If it's not, please clarify in your comments what you actually want.
Dinant Kistemaker
Dinant Kistemaker le 19 Fév 2019
Thanks for the help, but you did not. I have reinitiated my post in hope I can get a workaround for this...

Connectez-vous pour commenter.

Réponses (6)

Sean de Wolski
Sean de Wolski le 4 Nov 2013
>> fi = sym([1,2])
?

Dinant
Dinant le 4 Nov 2013
hmmm, what do you mean with the question mark?
  7 commentaires
Dinant
Dinant le 4 Nov 2013
I appreciate your help.
My question relates to the fact that directly want to use the output of symbolic manipulations in my matlab code that is vectorized. Symbolic output is not. It makes from fi(1) fi1. I do not want that. I want the output to be in terms of fi(1), fi(2), etc.
Sean de Wolski
Sean de Wolski le 4 Nov 2013
What release are you using? Because on mine(R2013b) it creates a 1x2 sym
Code:
fi = sym([1 2])
size(fi)
sin(fi(1))
Printed:
fi =
[ 1, 2]
ans =
1 2
ans =
sin(1)

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 4 Nov 2013
syms fi
then fi(1) will be fi(1)
  1 commentaire
Dinant
Dinant le 4 Nov 2013
nope...
>> syms fi >> fi(1) ans = fi

Connectez-vous pour commenter.


Dinant Kistemaker
Dinant Kistemaker le 19 Fév 2019
I am still very much looking forward to an answer to my question. It is really annyoing that the printed format is not in vector notation. I want to use the output for some symbolic manipulations in my code and I want to use vector notation.
if I type:
fi = sym ('fi',[1 3]);
x=cos(fi)
>>x =
[ cos(fi1), cos(fi2), cos(fi3)]
I would very much want to have the answer in vector notation like:
x =
[ cos(fi(1)), cos(fi(2)), cos(fi(3))]

Dinant Kistemaker
Dinant Kistemaker le 26 Fév 2019
Nobody???

Dinant Kistemaker
Dinant Kistemaker le 26 Fév 2020
I am so looking forward to an answer to my problem...
Somebody from the Mathworks?
  1 commentaire
Steven Lord
Steven Lord le 26 Fév 2020
If you want an official MathWorks answer please contact Technical Support directly using the telephone icon in the upper-right corner of this page.
I suspect you will not be able to do what you want with sym or syms. Depending on what "use outcome of symbolic manipulation directly in my matlab[sic] code" means the matlabFunction function may be of use.

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