How to get variable r recognised when inputting a matrice? eg matrix1 = [1, 0; 2/r, 1]

3 views (last 30 days)
Get the message:
Unrecognised function or variable 'r'.
when trying to write the matrice:
matrix1 = [1, 0; 2/r, 1]
How do I get Matlab to recognise 2/r ?
I'm a nooby to Matlab, please be kind!

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 3 Aug 2022
Use syms to make a symbolic variable (Note - It requires the symbolic math toolbox)
syms r
matrix1 = [1, 0; 2/r, 1]
matrix1 = 
Or if you are going to evaluate the value for some r, a better way would be to define a symbolic function
syms matrix1(r)
matrix1(r) = [1, 0; 2/r, 1]
matrix1(r) = 
matrix1(2)
ans = 

More Answers (1)

Steven Lord
Steven Lord on 3 Aug 2022
Another approach, one that doesn't require Symbolic Math Toolbox, is to create a function that you can call with a specific value of r.
M = @(r) [1, 0; 2/r, 1]
M = function_handle with value:
@(r)[1,0;2/r,1]
This is an anonymous function. To use this anonymous function, call it like you'd call any other function in MATLAB.
A = M(4)
A = 2×2
1.0000 0 0.5000 1.0000
B = M(2)
B = 2×2
1 0 1 1
C = M(1)
C = 2×2
1 0 2 1

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by