how to create symbolic vector?
Mostra commenti meno recenti
hi. im using MATLAB version 7.9.0 (R2009b) and i would like to create symbolic vector. it should go like that: a=sym('a', [1 10]), where second argument means the length of the vector. but it doesnt want to work; error occurs: Formatted arguments cannot be non-scalar numeric matrices. how should i do it/any other way? thank you.
Risposta accettata
Più risposte (2)
Walter Roberson
il 19 Feb 2013
That format for "sym" was not supported until (I think it was) R2011b.
a = sym(zeros(1, 10));
should work, I think.
1 Commento
Vicky
il 19 Feb 2013
Nicola Sacco
il 19 Giu 2015
Modificato: Walter Roberson
il 8 Ago 2019
Hi everybody,
with reference to Azzi Abdelmalek answer, it is possilbe to generate automatically also the symbolic variables in the vector?
I mean, the code
v=['[' sprintf('a%d,',1:2)];
v(end)=']'
a=sym(v)
produces
a =
[ a1, a2]
but neither a1 or a2 are symbolic variables, althoguh you can perform calcula with them (diff(..,a(1)) is allowed. How to get them without typing
a1 = sym('a1')
I need to assign numeric values to them, after some calculating a Jacobian with results to be something like
J = a1*a2;
Thanks in advance
2 Commenti
Azzi Abdelmalek
il 19 Giu 2015
Modificato: Azzi Abdelmalek
il 19 Giu 2015
Is this an answer or a question? If you need to ask a question, post a new one in the section Ask a Question
Walter Roberson
il 8 Ago 2019
syms(sym('a', [1 2]))
However if you are generating variable names instead of assigning them, then it is bad practice to hard-code the names in expressions such as a1*a2 .
Categorie
Scopri di più su Functional Programming in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!