2014-12-16 4 views
1

C에 기존 코드 (이전에 만들어진 행렬)의 요소를 가져 와서 새 행렬을 만드는 코드를 작성하려고합니다. 내가 R[1][303]과 같은 행렬을 가지고 있다고 가정하고, K[303 - n + 1][1]과 같은 새로운 행렬을 만들려는 행의 요소를 해당 열 n에서 최종 열 (즉, 열 303)까지 저장하고 싶습니다. 내가 n에 for 루프가 있고, 내가 쓰기 시작 코드가 같은 수 있습니다 :기존 행렬에서 새 행렬 만들기

for n=1:201 
    K=[]; 
    K(1:303-n+1,1)=R(n:end); 
    end 

하지만 난 아무 생각이 : 나는 매트랩을 작성하려는 경우

for (n=1; n<=201; n++) 
    { 
    float K[303-n+1][1]=???? 
    } 

, 내가 작성합니다 나는 C의 일부

R(n:end) 

를 작성해야하는 방법. 누군가가 나에게 힌트를 줄 수 있으면 고맙습니다.

+0

찾고있는 것을 생각하지만, 읽고 [만들기 C 소스 MEX-파일] (http://uk.mathworks.com/ help/matlab/matlab_external/standalone-example.html? nocookie = true)? 가지고 있다면, 어떤 종류의 C 코드를 생성 할 수 있어야합니다. 그런 다음 코드가 붙어있는 곳과 관련된 질문을 할 것입니다. – kkuilla

+0

그래서 한 행렬의 모든 열을 다른 행렬의 행으로 복사 하시겠습니까? – Gopi

+0

당신의 Matlab-Code는 이해가되지 않습니다. 모든 반복에서 예를 들어'K (1,1) '을 할당하고 있습니다. – Daniel

답변

1

나는 이것이 당신이이 길을 잘못하지 마십시오

#include <stdio.h> 

int main(){ 

int R[1][10]={{0,1,2,3,4,5,6,7,8,9}}; 
int J[10][1]; 

//printf("ROW %d Column %d",sizeof(R)/sizeof(R[0]),sizeof(R[0])/sizeof(R[0][0])); 
int i; 

for(i=9; i >5; i--){ 
    J[i][0]=R[0][i]; 
} 

for(i=6; i < 10; i++){ 
    printf("%d \n",J[i][0]); 
} 
return 0; 
} 
관련 문제