How to get this into a loop

3 vues (au cours des 30 derniers jours)
Mark Loui
Mark Loui le 18 Mar 2021
Commenté : Jan le 18 Mar 2021
Hi there i like to ask how can i get this into a for loop
x=rand(1,20)
h1=(x(2,1)-x(1,1));%First interval
h2=(x(3,1)-x(2,1)); %second interval
h3=(x(4,1)-x(4,1));%Third interval
h4=(x(5,1)-x(4,1));
I like the interval to run for another 20 times
i get it as
for i=1:20
h=( x(1,n) -x(1,(n-1)
iter=iter+1
end
Through this method, i can get 20 iterations but the h is remain the same value, can i know why and how can i change it to get the right way
  1 commentaire
Jan
Jan le 18 Mar 2021
x = rand(1, 20)
h1 = x(2,1) - x(1,1); %First interval
This must fail: x has one row only, than x(2,1) does not exist. Please post some working code.

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 18 Mar 2021
x=rand(1,20);
for k=1:19
h(k)=x(k+1)-x(k);
end
Or without loop
x=rand(1,20);
h=diff(x);
  2 commentaires
Mark Loui
Mark Loui le 18 Mar 2021
Hi thanks so much, i have another question
For example
x=rand(1,20);
for k=1:19
h(k)=x(k);
end
Can this be done?
As from what i seen it keeps getting the same output?
David Hill
David Hill le 18 Mar 2021
You do not need a loop to set h=x
x=rand(1,20);
h=x;%h is an array

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 18 Mar 2021
Modifié(e) : Jan le 18 Mar 2021
Why do you want a loop? It is working without a loop also - guessing that you mean x(1, 2) and not x(2, 1) as in the code in the question:
x = rand(20, 20)
h1 = x(:, 2) - x(:, 1); % First interval
h2 = x(:, 3) - x(:, 2); % second interval
h3 = x(:, 4) - x(:, 4); % Third interval
h4 = x(:, 5) - x(:, 4);
  3 commentaires
Mark Loui
Mark Loui le 18 Mar 2021
Hi there i got it already thanks.
But i have another question, i like to create a diag function with a loop where the matrix is depending on the nxn size, how can i do it ?
After creating the element i like to fill in each of the element with a value, i am having trouble with this matter and not able to get the right approach, please help
Jan
Jan le 18 Mar 2021
What do you want your "diag function with a loop" to do? The explanation " matrix is depending on the nxn size" is not clear enough yet.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by