Convert this C program into a Matlab program.
Afficher commentaires plus anciens
ex[1]=lx/J %%first i term in ex matrix
ex[2]=mx/J %%second j term in ex matrix
ex[3]=nx/J %%third k term in ex matrix
for (i=0;i<9;i++)
for (j=0;i<27;j++)
N_matrix[i,j]=0;
end
for (i=0;i<9;i++)
N_matrix(0,i)=N[i%3]*ex[i/3];
end
4 commentaires
Kevin Chng
le 16 Oct 2018
ex[1]=lx/J
%%first i term in ex matrix ex[2]=mx/J
%%second j term in ex matrix ex[3]=nx/J
%%third k term in ex matrix
for (i=0;i<9;i++)
for (j=0;i<27;j++)
N_matrix[i,j]=0;
end
for (i=0;i<9;i++)
N_matrix(0,i)=N[i%3]*ex[i/3];
end
I don't think anyone will answer this to you.
Adam
le 16 Oct 2018
As C code goes that is about as trivial as it comes to convert to Matlab! It's just a few minor syntax changes (though vectorisation would be better than the straight for loop conversion).
@Virajan Verma: You are not a newbie in this forum. I've formatted the code for your today, but please mark the code with the mouse and press the "{} Code" button by your own in the future. Thanks.
This is not C code, because there is no "end" in C. What is N? Are you sure that you want to insert values in the first row, not column?
Guillaume
le 16 Oct 2018
N_matrix(0,i) is also not correct C syntax. The brackets should be square.
And as Jan pointed out, it should probably be:
N_matrix[i,0]
Réponses (1)
Jan
le 16 Oct 2018
ex = [lx; mx; nx] / J;
N = rand(3, 1); % ???
N_matrix = zeros(9, 27);
N_matrix(1, 1:9) = repmat(N, 3, 1) .* repelem(ex, 3, 1)
4 commentaires
Virajan Verma
le 18 Oct 2018
Modifié(e) : Walter Roberson
le 18 Oct 2018
Virajan Verma
le 18 Oct 2018
Modifié(e) : Walter Roberson
le 18 Oct 2018
Virajan Verma
le 18 Oct 2018
Walter Roberson
le 18 Oct 2018
That code creates a row vector for N, not a column vector. Try N(1,1), N(2,1), N(3,1) as the destinations
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!