Expanding a function in Matlab
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I ma trying to writea code that expands the function (a + b).^2 into the expected output. Instead it gives the Output below. How would i be able to get to the Expected Output?
>> a = 'a';
>> b= 'b';
>> func = multip = (a + b).^2
Expected Output:
a^2+2ab+b^2
Output:
7414875
0 commentaires
Réponse acceptée
DGM
le 14 Nov 2021
Using symbolic tools:
syms a b
f = expand((a+b)^2)
Your approach would ostensibly return a number because you're treating characters as numbers.
double('a')
double('b')
(97+98)^2
As to why exactly that number is different than what you got, I have no idea. The code you posted shouldn't do anything but throw an error.
1 commentaire
John D'Errico
le 14 Nov 2021
I assume you are saying that what would throw an error is the line with func. Of course that is invalid MATLAB syntax.
a = 'a';
b = 'b';
func = multip = (a + b).^2
I note that
sqrt(7414875)
ans =
2723.02680853494
is not even an exact integer, but it is also far too large to be the sum of two standard ascii equivalents. So I have no immediate idea what was actually stored in those variables.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!