Clear Filters
Clear Filters

Trying to store values from a while into a 1D array and plot a graph with the values.

2 views (last 30 days)
The following is my program so far:
% MATLAB M-file to solve a single equation using the Rearrangement method.
% The function is f(x)= cos^3(x) - x = 0 and the rearranged function % is g(x) = cos^-1(x^1/3).
clc % clear command window clear % clear workspace
k = 0; % Set the iteration number x = 0; % Set the starting value
diff = 1; % Set the difference between successive x values % to an arbitrary value to start the iteration
fprintf(' k xk\n') fprintf('%5i%10.4f\n', k, x) % output the starting value
while diff > 0.6e-4 % Continue until convergence is achieved to 5 decimal places
xlast = x;
x = 1/(cos(xlast^1/3)); % defines x(k+1) = g(x(k))
diff = abs(x - xlast); % Calculate the difference between two successive iterations
k = k + 1; % Add 1 to the iteration number
fprintf('%5i%10.4f\n', k, x) % Output the intermediate solutions to 6 decimal places
end
I am trying to modify this program such that it plots a graph of the iteration numbers against the x values, once covergence is acheived, by storing the x values in a 1D array.
Thanks in advance, fairly new to matlab.

Answers (1)

Jyotish Robin
Jyotish Robin on 16 Jan 2017
Hi Maximillian,
Happy to hear that you are using MATLAB .
I understand that you would like to plot a graph of x-values against the iteration number. You could probably store the x-values in each iteration to an array (say, values) by including the following line in your code after the line which corresponds to incrementing k value :
>>values(k)=x;
Now, you can use the "stem" function to plot the "values" against the iteration number as follows:
>>stem(values);
Since you are new to MATLAB, I would recommend you to take a look at the documentation to know about the "stem" function:

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!