Vector operatin in Matlab

2 views (last 30 days)
klipya
klipya on 30 Jul 2012
Hi,
I have to programme a proccess but I don't know how to do it.
I have a vector called 'x' :
X= 1 2 3 4 5 6
On the other hand, another called y (related with x).
Y= 0.1 0. 3 0.4 0.8 0.3 0.5
Then, I have another table that also is from 1 to 6 (the x vector is the same). But this table has only numbers in the 5, 6 and 7th position.
Y1= - - - 0.2323 0.25656 0.8
I need to create one new vector that multiply the y values with the y1 but I don't know how to do it in Matlab.
Greetings and thanks a lot in advance,
  2 Comments
Jan
Jan on 31 Jul 2012
The vector does not have a 7th position, because it has 6 elements only.
Please explain this sentence again, what are you needing exactly. "Creating a new vector that multiply y with y1" is not sufficient to understand, what you want to achieve. I cannot imagine, what the "-" in the vector should be.
klipya
klipya on 1 Aug 2012
Edited: klipya on 1 Aug 2012
Thanks Jan for your reply. Yes, you are right, it only has 6 elements, sorry. The '-' element, mean that there aren't any value there. So, for example: I need that the code multiply, on one hand, 6(x)*0.5(y) and, on the other hand, also 6*0.8(y1). And then I need multiply the result of both elements. On the first position I need:
1(x)*0.1(y1) and 1*nothing (becaure there aren't any value, so I need a '0' result).
Why I'm doing this? Because I have one vector called x, one another called y and the last one, y1. And I need that the y1 don't do 1*0.2323 because it's not on the same position (it has to be 1* 0 because there aren't any position).
I don't know if I'm explaining well. I hope yes! Thanks a lot! ;)
Pd) I can't not do it if the size of the vectors are different?

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 30 Jul 2012
Edited: Andrei Bobrov on 1 Aug 2012
Y= [0.1 0.3 0.4 0.8 0.3 0.5];
Y1 = [0.2323 0.25656 0.8];
out = [zeros(1,numel(Y1)-numel(Y)),Y].*[zeros(1,numel(Y)-numel(Y1)),Y1];
  6 Comments
Andrei Bobrov
Andrei Bobrov on 2 Aug 2012
Please give simple numeric example
klipya
klipya on 3 Aug 2012
This is what I've done:
graf=0; for p=(101:180) graf(p)=out1_c; end for p=(171:240) graf(p)=out2_c; end
And I create the document Y1 with O in the places that I don't need and it works.

Sign in to comment.

More Answers (1)

venkat vasu
venkat vasu on 30 Jul 2012

Community Treasure Hunt

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

Start Hunting!