Convert this C program into a Matlab program.
이전 댓글 표시
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
Kevin Chng
2018년 10월 16일
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
2018년 10월 16일
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
2018년 10월 16일
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]
답변 (1개)
Jan
2018년 10월 16일
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
Virajan Verma
2018년 10월 18일
편집: Walter Roberson
2018년 10월 18일
Virajan Verma
2018년 10월 18일
편집: Walter Roberson
2018년 10월 18일
Virajan Verma
2018년 10월 18일
Walter Roberson
2018년 10월 18일
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
카테고리
도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!