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 件のコメント

mohamed
mohamed 2016 年 3 月 10 日
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);
Walter Roberson
Walter Roberson 2016 年 3 月 10 日
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 件)

Community Treasure Hunt

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

Start Hunting!

Translated by