# How do I solve a nonlinear equation that needs to be setup in MATLAB?

Many students ask me how do I do this or that in MATLAB. So I thought why not have a small series of my next few blogs do that. In this blog, I show you how to solve a nonlinear equation that needs to be set up.

For example to find the depth ‘x’ to which a ball is floating in water is based on the following cubic equation
4*R^3*S=3*x^2*(R-x/3)
where
S= specific gravity of ball
So how do we set this up if S and R are input values?

The MATLAB program link is here.

The HTML version of the MATLAB program is here.

%% HOW DO I DO THAT IN MATLAB SERIES?
% In this series, I am answering questions that students have asked
% me about MATLAB.  Most of the questions relate to a mathematical
% procedure.

%% TOPIC
% How do I solve a nonlinear equation if I need to set it up?

%% SUMMARY

% Language : Matlab 2008a;
% Authors : Autar Kaw;
% Mfile available at
% http://nm.mathforcollege.com/blog/integration.m;
% Last Revised : March 28, 2009;
% Abstract: This program shows you how to solve a nonlinear equation
% that needs to set up as opposed that is just given to you.
clc
clear all

%% INTRODUCTION

disp(‘ABSTRACT’)
disp(‘   This program shows you how to solve’)
disp(‘   a nonlinear equation that needs to be setup’)
disp(‘ ‘)
disp(‘AUTHOR’)
disp(‘   Autar K Kaw of http://autarkaw.wordpress.com’)
disp(‘ ‘)
disp(‘MFILE SOURCE’)
disp(‘   http://nm.mathforcollege.com/blog/nonlinearequation.m’)
disp(‘ ‘)
disp(‘LAST REVISED’)
disp(‘   April 17, 2009’)
disp(‘ ‘)

%% INPUTS
% Solve the nonlinear equation where you need to set up the equation
% For example to find the depth ‘x’ to which a ball is floating in water
% is based on the following cubic equation
% 4*R^3*S=3*x^2*(R-x/3)
% S= specific gravity of ball
% So how do we set this up if S and R are input values

S=0.6
R=0.055
%% DISPLAYING INPUTS
disp(‘INPUTS’)
func=[‘  The equation to be solved is 4*R^3*S=3*x^2*(R-x/3)’];
disp(func)
disp(‘  ‘)

%% THE CODE
% Define x as a symbol
syms x
% Setting up the equation
C1=4*R^3*S
C2=3
f=[num2str(C1) ‘-3*x^2*(‘ num2str(R) ‘-x/3)’]
% Finding the solution of the nonlinear equation
soln=solve(f,x);
solnvalue=double(soln);

%% DISPLAYING OUTPUTS

disp(‘OUTPUTS’)
for i=1:1:length(solnvalue)
fprintf(‘\nThe solution# %g is %g’,i,solnvalue(i))
end
disp(‘  ‘)

This post is brought to you by Holistic Numerical Methods: Numerical Methods for the STEM undergraduate at http://nm.mathforcollege.com, the textbook on Numerical Methods with Applications available from the lulu storefront, and the YouTube video lectures available at http://nm.mathforcollege.com/videos

Posted on Tags

## 0 thoughts on “How do I solve a nonlinear equation that needs to be setup in MATLAB?”

1. Rohedi says:

Now, Rohedi would add another example of nonlinear equation V*sqrt(1-x) – arctan(sqrt(x/(1-x))) – arctan(sqrt((a+x)/(1-x)))=m*pi, that maybe it can be solved using the above scheme. On the dispersion relation of optical modes for optical slab waveguide, both V and a are positive numbers, while the value of x for every integer m is in the range 0<x<1.

For instance, what does the x value that satisfy 16*sqrt(1-x) – arctan(sqrt(x/(1-x))) – arctan(sqrt((1000+x)/(1-x)))=3*pi. Here we must use pi=3.141593, because optical wavelength used in designing optical waveguides is in micro meter.

Best Regards,
Rohedi.

2. Rohedi says:

Now, Rohedi would add another example of nonlinear equation V*sqrt(1-x) – arctan(sqrt(x/(1-x))) – arctan(sqrt((a+x)/(1-x)))=m*pi, that maybe it can be solved using the above scheme. On the dispersion relation of optical modes for optical slab waveguide, both V and a are positive numbers, while the value of x for every integer m is in the range 0<x<1.

For instance, what does the x value that satisfy 16*sqrt(1-x) – arctan(sqrt(x/(1-x))) – arctan(sqrt((1000+x)/(1-x)))=3*pi. Here we must use pi=3.141593, because optical wavelength used in designing optical waveguides is in micro meter.

Best Regards,
Rohedi.