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

4 views (last 30 days)
Neil on 3 Aug 2022
Answered: Steven Lord on 3 Aug 2022
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!

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 = ##### 2 CommentsShowHide 1 older comment
Dyuman Joshi on 3 Aug 2022
You are Welcome!

### More Answers (1)

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