Adding 2 different length array
151 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have problem in adding 2 different length array e.g x=[1 2 3 4 5 6 ]', Y =[ 3 5 7 8 ]' Ans= 4 7 10 13 6 but I do not know how to get this answer ? in my code I have tried
dir_list=dir('v1_ch.txt');
vec1=[];
for j=1:12
data=dlmread(dir_list((j-1)*13+k).name,';',3 );
latitude=data(:,1);
longitude=data(:,2);
ch4=data(:,3);
vec1=vec1+ch4; % here I tried to add array together
end
but it does not work ?
1 commentaire
Jan
le 23 Oct 2011
Please edit your question and use the standard code formatting as explained in the "Markup help" link.
Réponse acceptée
the cyclist
le 23 Oct 2011
Arrays have to be the same size (or one has to be a scalar) to add them, otherwise it is ambiguous to MATLAB what should be done with the "leftover" elements.
In your case, you want to pad a zero onto the end of Y, so the addition could be done like this:
x = [1 2 3 4 5 6]';
y = [3 5 7 8]';
A = x + [y;zeros(2,1)];
This will result in A = [4 7 10 12 5 6]'. (This is not exactly what you wrote as your answer, but I am guessing it is what you meant.)
If you don't know ahead of time how many zeros you need to pad at the end, then you can use the size() or length() command to determine the array dimensions, to calculate how many zeros you need.
Finally, you might want to read the "Getting Started" guide. The basics of vector manipulation are covered there.
Plus de réponses (1)
Azmat Ameen
le 17 Déc 2020
Modifié(e) : Azmat Ameen
le 17 Déc 2020
function[t,x]=padding(t1,t2,x1,x2)
t=min(min(t1),min(t2)):max(max(t1),max(t2));
y1=zeros(1,length(t));
y2=y1;
y1((t>=min(t1))&(t<=max(t1)))=x1;
y2((t>=min(t2))&(t<=max(t2)))=x2;
x=(y1+y2)
stem(t,x)
end
Use this function to pad zeros and you will get the addition of two different array with different length.
0 commentaires
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!