Finding the functionality for the loop

1 view (last 30 days)
I am new to Matlab. I am making a formula/syntax book as a part of my club activity. I was finding logics for implementing loops in matlab without actually using loops. Is there any other way?
Is there any other way of writing by not using for loop in matlab
t = linspace(10, 1000, 100);
for 1:n
y(n)=1+t(n)^2;
eq = @(x) (N + x)/(y(n) + k) + N*x*exp(-(t(n)));
end
%Say we need to find the range of values of solution of eq for all values of range
%n. N, k are constants.
%Is it possible to implement the same without for loop
  2 Comments
Walter Roberson
Walter Roberson on 14 Mar 2022
Note that you are overwriting all of eq in each iteration of the loop.
When you say "solution of eq" are you looking for the values of x such that eq(x) == 0 ?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 14 Mar 2022
syms t N k x
T = linspace(10, 1000, 100).';
y = 1 + t^2;
eqn = (N + x)/(y + k) + N*x*exp(-(t))
eqn = 
sol_x = solve(eqn, x)
sol_x = 
sols_x = subs(sol_x, t, T);
sols_x(1:5)
ans = 
sols_x(end)
ans = 
vpa(limit(sols_x(end), N, 1))
ans = 
vpa(limit(sols_x(end), N, inf))
ans = 
  2 Comments
Walter Roberson
Walter Roberson on 14 Mar 2022
Note that if you are not using the symbolic toolbox, then the exp(1000) that shows up in the last entry, will almost certainly overflow double precision to give you infinity at that point.
Amy Topaz
Amy Topaz on 14 Mar 2022
Thank you so much for detailed explanation

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!