Expanding a function in Matlab
조회 수: 22 (최근 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!