Add a certain row to each new row generated by same loop function ! HOW!

How can I add a certain row generated by a loop function to each new row generated by same loop function? Thanks in advance!
for k=1:1:100
for i=x1:1:x3
% x1<x2<x3
if i<x2
[a(i,k),b(i,k),c(i,k)]=function(input1(i),input2(k));
else
% this is my (certain) row (at i=x2) to be added
[a(x2,k),b(x2,k),c(x2,k)]=function(input1(i),input2(k))
% above row to be added to each row of below function:
[a(i,k),b(i,k),c(i,k)]=function(input1(i),input2(k));
end
end
end

1 Commento

This is unreadable ... please use the "{} Code" button to format your code.

Accedi per commentare.

 Risposta accettata

input1 = randi([10 100],10,1); % Let your data
input2 = randi(9,10,1);
[j1 j2] = ndgrid(input1,input2);
[a ,b, c] = arrayfun(@(x,y)YourFunction1(x,y),j1,j2);

1 Commento

Dear Andrei, first let me thank you for your proposal!
This workes now with a additionally defined handle funtion (Myfunction1) and only for two input arrays (I have arround 50)!
And, as I am using Myfunction1 first for creattion of the input arrays and then as the handle function, I would like to avoid defining the handle function seperately. And, I would like to preserve the intial variable names.
Is something like this possible?
Once again, I need to add scalar values resulting of Myfunction1(:,300) to all array elements resulting from Myfunction1.My result should look like this.
[a(k,i)+a(k,300),..,n(k,i)+n(k,300)]

Accedi per commentare.

Più risposte (0)

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by