Plotting graph from non linear equation in MATLAB

I need help while plotting a non linear equation like:
*(plotting of "x Vs a"; x: Y-axis, a: X-axis)
x = b*(a-c-x) +(2*b*(a-c-x) +d)*(log(R) - (1/2)*log((R^2)*(1+(2*b/d)*(a-c-x))))
where,
a = 0:0.01:2
b = 1.577*10^11
c = 0.74
d = 1.9296*10^(-7)
R = 5*10^(-9)
I'm facing error while using solve & fzero function.

 Akzeptierte Antwort

Torsten
Torsten am 8 Mär. 2022
A = 0:0.01:2;
b = 1.577e11;
c = 0.74;
d = 1.9296e-7;
R = 5e-9;
x0 = -1.0;
for i = 1:numel(A)
a = A(i);
fun = @(x) -x + b*(a-c-x) +(2*b*(a-c-x) +d).*(log(R) - (1/2)*log((R^2)*(1+(2*b/d)*(a-c-x))));
X(i) = fsolve(fun,x0);
x0 = X(i);
end
plot(A,X)

7 Kommentare

Thank you very much, got my mistake. I may contact if I face any other problems.
I have an doubt in the above code: whether "a" will take all the values or it will take only the final value from the array? as its value is showing as 2, not the full array.
Torsten
Torsten am 9 Mär. 2022
If you output "a" in the for-loop, you will see that it takes all values stored in the A-array one by one.
Then, the scalar "a" is used to define the function "fun". The solution x for the specific a-value is then saved in the array X as X(i).
Ohh, yes, just checked. Thanks a lot!
Can you help me out to solve the above equation using Newton-Raphson iterative approach? or are there any other approaches to solve non linear equation like this?
Torsten
Torsten am 31 Mär. 2022
So the solution from fsolve was not fine ?
That was fine, finding some other ways as well..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by