Expanding a function in Matlab

조회 수: 22 (최근 30일)
Teoman Selcuk
Teoman Selcuk 2021년 11월 14일
댓글: John D'Errico 2021년 11월 14일
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

채택된 답변

DGM
DGM 2021년 11월 14일
Using symbolic tools:
syms a b
f = expand((a+b)^2)
f = 
Your approach would ostensibly return a number because you're treating characters as numbers.
double('a')
ans = 97
double('b')
ans = 98
(97+98)^2
ans = 38025
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
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 CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by