two variables with known values in equations; use loop in matlab

Hi I have question to ask. I have 3 variables with known variables, x, y, z.
x= 3, 1 , 4, 2, 1
y=3,4 ,5,1,1
z=2,2,1,2,2
I need to apply those variables in two related equations
d=x+y+2z
e=2d+xyz
how to solve this using loop
what I did
x=[3 1 4 2 1];
y=[3 4 5 1 1];
z=[2 2 1 2 2];
for i=1:length(x);
j=1:length(y);
k=1:length(z);
d=x(i)+y(j)+2*z(k)
d=d+1
e=2*d+(x(i)*y(j)*z(k))
end
did not work

 Risposta accettata

x=[3 1 4 2 1];
y=[3 4 5 1 1];
z=[2 2 1 2 2];
d=x+y+2*z;
e=2*d+x.*y.*z;

4 Commenti

it is actually in iterations. when x(1)=3,y(1)=3,z(1)=2, so what we will get for d and e, then when x(2)=1,y(2)=4,z(2)=2, so the value of d and e are..., and goes on..until x(5),y(5),z(5).. I guess I need to do loops. can anyone suggest
You don't need to do loops, this is what MATLAB does for you. If you have vectors a and b (with equal length) then
c = a + b;
creates a new vector of the same length as a and b, where c(a) = a(1)+b(1), c(2) = a(2)+b(2), etc
The code that Andrei provided does all of them at the same time. No loop is required.
sorry.my mistake..you already told me how to wrote it above.anyway,thanks guys for your superb answers.

Accedi per commentare.

Più risposte (1)

WAT
WAT il 29 Set 2015
Modificato: WAT il 29 Set 2015
It's a little unclear from your question, but if you mean you have 3 dependent variables (x,y,z) each observed at 5 different values of some independent variable (for example, x(t),y(t) and z(t)), and you want the values of c and e at those same times, then all you need to do is
d=x+y+2*z
e=2*d+x.*y.*z
The decimal in front of the multiply tells MATLAB to do the multiplication componentwise, rather than matrix multiplication.
Unless you're required to use a loop (for a HW assignment), in which case it would be something like
d = zeros(1,5);
e = zeros(1,5);
for i = 1:5
d(i) = x(i) + y(i) + 2*z(i);
e(i) = 2*d(i) + x(i)*y(i)*z(i);
end
But you don't want to do it this way unless you're explicitly required to use a loop.

1 Commento

I think the code you wrote is right. But, the variables x, y and z have values like I wrote above. How to write the data of the variables in matlab and use loop?

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by