hi i want to substitute in an equation that has 2 variables (q) and (pwf), given that the user has to input several values for (pwf) to substitute into the equation and solve for (q)
Thank you

 채택된 답변

Walter Roberson
Walter Roberson 2016년 3월 10일

0 개 추천

Example:
new_pwf = rand();
new_equation = subs(TheEquation, pwf, new_pwf);
sol = solve(new_equation, q)

댓글 수: 4

ok this is what i did
clc
clear
new_pwf=[0:500:2500]
new_equation=subs('q=((1-(0.2*(pwf/pr)))-(0.8*(pwf/pr)^2))*(1067)',pwf,new_pwf);
sol=solve(new_equation,q)
but it gave me an error
Undefined function or variable 'pwf'.
Error in Untitled2 (line 4) new_equation=subs('q=((1-(0.2*(pwf/pr)))-(0.8*(pwf/pr)^2))*(1067)',pwf,new_pwf);
syms pwf pr q
expression = ((1-(0.2*(pwf/pr)))-(0.8*(pwf/pr)^2))*(1067);
new_expression = subs(expression, pfw, 0:500:2500);
There is no point solving for a variable (q) that appears isolated on one side of a comparison.
Solving a vector of expressions can only work when the number of elements in the vector is the same as the number of variables indicated to solve for. With 5 values for the new pwf you would need to be solving for 5 variables.
mohamed
mohamed 2016년 3월 11일
편집: mohamed 2016년 3월 11일
ty very much you really helped me if i may ask another question whne i substitute into an equation this is the result
q =
1.0e+03 *
1.0670 0.9902 0.8451 0.6317 0.3500 0
i need the results to be
1067 990 845 632 350 0 i dont want them multiplyed by 1.0e+03 and i tried the double() code and it didnt work thank you
Walter Roberson
Walter Roberson 2016년 3월 12일
format long g

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

추가 답변 (0개)

질문:

2016년 3월 10일

댓글:

2016년 3월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by