How to findout this equations value

1 次查看(过去 30 天)
R*e^15b=35.75
R*e^25b=29.125
R*e^35b=22.875
I need to find out the value of R and b from above equaations. Is there any command in matlab to findout this calculation?

采纳的回答

John D'Errico
John D'Errico 2022-7-5
编辑:John D'Errico 2022-7-5
That is impossible, since your equations are not written in unambiguous mathematics.
Is e^15b intended to mean exp(15*b)?
Is e^15b intended to mean exp(15)*b?
Is e the base of the natural logarithem? Thus
format long
exp(1)
ans =
2.718281828459045
Even if as I suspect, you actually have these equations:
syms R b
E1 = R*exp(15*b) == 35.75;
E2 = R*exp(25*b) == 29.125;
E3 = R*exp(35*b) == 22.875;
then no unique solution can possibly exist. That is, divide equation 2 by equation 1. That leaves us with
E2/E1
ans = 
As you can see, R goes away, and we could compute b from that relation.
vpa(solve(E2/E1))
ans = 
However, suppose we chose to do this instead?
E3/E1
ans = 
vpa(solve(E3/E1))
ans = 
And finally, we could do this:
vpa(solve(E3/E2))
ans = 
Which as you see, returns a completely different result for b. And when we do so, depending on the value of b we chose from how we might derive it, then R is also completely different.

更多回答(2 个)

Saksham Gupta
Saksham Gupta 2022-7-5
As per my understanding, you wish to solve the given equations
You may use the following code to solve them:
syms R b
eqns = [ R*exp(15*b) == 35.75 , R*exp(25*b) == 29.125 ];
a = solve( eqns , [ R ,b ] );
disp(a.R);
disp(a.b);
I am using 2 equations only as I am able to identify only 2 variables : 'R' and 'b'.
My output is:
You may refer to documentation of solve to learn more about it.

Sam Chak
Sam Chak 2022-7-5
You can try using the solve() command.
R12 = 48.6173; % solving Eqn 1 and Eqn 2 simultaneously
R23 = 53.2756; % solving Eqn 2 and Eqn 3 simultaneously
R31 = 49.9703; % solving Eqn 3 and Eqn 1 simultaneously
b12 = -0.020495335725415202423043826631973699411349908259696363801512111;
b23 = -0.024155230072427962515559053432074702762580354955690539307109413;
b31 = -0.022325282898921582469301440032024201086965131607693451554310762;
x = linspace(10, 40, 3001);
y1 = R12*exp(b12*x);
y2 = R23*exp(b23*x);
y3 = R31*exp(b31*x);
plot(x', [y1' y2' y3'], 'LineWidth', 1.5), grid on, hold on,
plot([15 25 35], [35.75 29.125 22.875], 'mo', 'MarkerSize', 12, 'LineWidth', 2), hold off
xlabel('x'), ylabel('y'),
legend('y1', 'y2', 'y3')

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by