problem with symbolic calculation
조회 수: 3 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Walter Roberson
2021년 3월 16일
편집: Walter Roberson
2021년 3월 16일
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
추가 답변 (1개)
Steven Lord
2021년 3월 14일
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!