I have a function and two values of x and I would like to find the values corresponding to the x-values, how should I start ? I was thinking to do for loop but it does not work it only gave me one of the answers (as you can see below)!
for x = 0.36 : 0.40
y = x^4 + 5*x^2 + sqrt(x-1)
end
y =
0.6648 + 0.8000i

1 commentaire

John D'Errico
John D'Errico le 9 Jan 2017
So your code was wrong. Show your code, and someone will show you how to fix it.

Connectez-vous pour commenter.

 Réponse acceptée

John D'Errico
John D'Errico le 9 Jan 2017

1 vote

Ok, you posted your code.
As I expected, every time through that loop, you overwrote the previous values.
Worse, what do you think 0.36:0.40 does? It generates a set of values from 0.36 to 0.40 in increments of 1 (ONE)! How many values do you think that creates? ONE: 0.36.
Simplest is to not use a loop.
x = [0.36, 0.40];
y = x.^4 + 5*x.^2 + sqrt(x-1);
Note the use of .^ there. It is there for a reason. Learn about element-wise operations on a vector or array.
help power

4 commentaires

Yumi Lee
Yumi Lee le 9 Jan 2017
Modifié(e) : Yumi Lee le 9 Jan 2017
OMG ! so using loop was useless lol Thank you so much that helps a lot :)
Yumi Lee
Yumi Lee le 9 Jan 2017
But why this does not work if I have something such as (x-1) multiply by the square root ? It says '' Error using * Inner matrix dimensions must agree.'' Any idea ?
Stephen23
Stephen23 le 9 Jan 2017
Modifié(e) : Stephen23 le 9 Jan 2017
Yumi Lee
Yumi Lee le 11 Jan 2017
ok I will try it. Thank you

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by