How to access the equation above the while loop
Mostra commenti meno recenti
How to access the y and limit equation above the while loop so that i do not need to type the equation inside the while loop?
y = 0;
limit= (exp(y)-(1+y+y^2/2+y^3/6))/exp(y)
while y>=0
y=y+0.01;
limit=(exp(y)-(1+y+y^2/2+y^3/6))/exp(y);
if limit>0.01
break
end
end
y=y
Risposta accettata
Più risposte (1)
Image Analyst
il 18 Set 2021
Try this:
% Demo by Image Analyst
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format short g;
format compact;
fontSize = 20;
y = 0;
limit = CustomFunction(y)
loopCounter = 1; % Failsafe to prevent infinite loop
maxIterations = 1000; % Failsafe - way more than you think you'll ever need.
while y >= 0 && loopCounter < maxIterations
fprintf('On iteration #%d, y = %f and limit = %f.\n', loopCounter, y, limit);
y = y + 0.01;
limit = CustomFunction(y);
if limit > 0.01
break
end
loopCounter = loopCounter + 1;
end
% Define a function for the limit
function f_limit = CustomFunction(y)
f_limit = (exp(y)-(1+y+y^2/2+y^3/6))/exp(y);
end
Put it all into one m-file, like test.m or whatever (don't call it limit.m or f_limit.m). You'll see
On iteration #1, y = 0.000000 and limit = 0.000000.
On iteration #2, y = 0.010000 and limit = 0.000000.
On iteration #3, y = 0.020000 and limit = 0.000000.
....
On iteration #80, y = 0.790000 and limit = 0.008702.
On iteration #81, y = 0.800000 and limit = 0.009080.
On iteration #82, y = 0.810000 and limit = 0.009469.
On iteration #83, y = 0.820000 and limit = 0.009868.
1 Commento
Stark Volt
il 20 Set 2021
Categorie
Scopri di più su Function Creation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!