Finding the functionality for the loop

1 visualizzazione (ultimi 30 giorni)
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 Commenti
Walter Roberson
Walter Roberson il 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 ?

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 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 Commenti
Walter Roberson
Walter Roberson il 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 il 14 Mar 2022
Thank you so much for detailed explanation

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by