Expanding a function in Matlab
17 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
DGM
2021-11-14
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 个评论
John D'Errico
2021-11-14
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!