How to properly use Symbolic Toolbox to implement superscripts and subscripts on imaginary numbers and theta

조회 수: 51 (최근 30일)
Greetings community,
I'll begin by saying that I am not an engineer or math expert. This question arose during my independent research to understand kinematics, more specifically complex number addition and vector loops.
Part of this expirement is that I want to learn more about properly using the Symbolic Toolbox to be able to write expressions as seen in this image snippet. However, I am failing to use the superscripts and subscripts properly. Consider the following code snippet:
syms V1 theta_1 i
V1_expr = V1 * exp(theta_1 * 1i)
As the more educated person can see, it will not produce the desired outcome as shown in the image above. It will subscript theta with 1. Instead I have tried to subscript the imaginary number but MatLab gets upset when I do that. What I get as a result that works right now is:
Would anyone be willing to assist me?
Cheers,
  댓글 수: 1
Walter Roberson
Walter Roberson 2024년 11월 4일 23:40
Be careful. If you use
syms V1 theta_1 i
V1_expr = V1 * exp(theta_1 * i)
then i is treated as just another symbol, instead of as the special constant sqrt(-1)

댓글을 달려면 로그인하십시오.

채택된 답변

Aneela
Aneela 2024년 11월 4일 16:04
편집: Aneela 2024년 11월 4일 16:20
The "syms" function in MATLAB's Symbolic Toolbox allows you to create symbolic scalar variables and functions, and matrix variables and functions.
The code below generates desired expression:
syms V1 theta1 i
V1_expr = V1 * exp(i * theta1);
disp(V1_expr);
Please refer to the following MathWorks documentation for more information on "syms": https://www.mathworks.com/help/symbolic/syms.html
  댓글 수: 5
Walter Roberson
Walter Roberson 2024년 11월 4일 23:38
편집: Walter Roberson 2024년 11월 4일 23:39
In LiveScript, both expressions are the same.
Unfortunately due to a bug in MATLAB Answers, I cannot show you the outputs. (They are there... just not showing up.)
clear i %MATLAB Answers glitch, i initialized as [] sometimes
syms V1 theta_1
V1_expr = V1 * exp(theta_1 * 1i);
disp(V1_expr)
V2_expr = V1 * exp(theta_1 * i);
disp(V2_expr)
Clayton Allen
Clayton Allen 2024년 11월 5일 16:06
Oh... That is a good catch! I went in and tested the values out and found what you pointed out.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

태그

제품


릴리스

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by