problem with symbolic calculation

6 views (last 30 days)
I want symbolic calculation .I write the code but error is displayed
syms a
syms R
n=input('enter the value of n')
F(1)=1;
F(2)=0;
F(3)= a;
aplha=input('enter the value of a=')
R=input('enter the value of reynold number R=')
for i=1:n
F(i+3)=2*alpha*R*F(i)+F(i+1);
end

Accepted Answer

Walter Roberson
Walter Roberson on 16 Mar 2021
Edited: Walter Roberson on 16 Mar 2021
aplha=input('enter the value of a=')
You assign to aplha . A. P. L. H. A
R=input('enter the value of reynold number R=')
for i=1:n
F(i+3)=2*alpha*R*F(i)+F(i+1);
You use alpha . A. L. P. H. A.
You have not assigned to alpha.
alpha happens to exist as a function, but the function alpha requires that you pass a parameter to it, so you would get an error.
You need to change your input() to assign to alpha instead of aplha

More Answers (1)

Steven Lord
Steven Lord on 14 Mar 2021
The way you've written it, when you try to assign a into F(3) MATLAB needs to convert the symbolic a into a numeric value so it can be stored in the numeric array F. But what is the numeric value of a? It doesn't have one, which is why MATLAB complains.
Since you want F to be able to store symbolic variables, don't initialize it to be a numeric array first. Initialize it as symbolic from the start by assigning a symbolic expression to it to create the array.
F(1) = sym(1);
Or since you know how large it will need to be in the end:
F = sym(zeros(1, n+3));

Community Treasure Hunt

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

Start Hunting!