1
시뮬 링크 모델의 출력을 가져 와서이 정보를 배열에 넣어 각 루프를 작성한 다음 플로팅/분석 할 수있는 스크립트가 있습니다. 내가 얻을 스크립트는 다음덧씌우 기없이 Matlab의 루프에서 배열로 출력
test1
Outvs =
68.0000
68.0007
68.0430
68.0746
In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in test1 (line 19)
output(sensv0) = Outvs;
내 스크립트는 다음과 같다 : 같은 일을 처리 할 수
%Vectors/containers to store values%
%input = zeros(4,4);
output = zeros(4,4);
%INITIAL VELOCITY (v0)
%do a sensitivity analysis for different input values
for sensv0 = 85:88
%step 1: define input value to variable
v0 = sensv0;
%step 2: run simulation
sim('sldemo_absbrake');
%step 3: look at graphs at t=0,5,10,15s for Vehicle Speed
Outvs = getdatasamples(vs, [2,6,11,14]);
%Display Outvs (troubleshooting)
Outvs
%input(sensv0) = v0;
output(sensv0) = Outvs;
end
는 단일 출력 필드에 여러 개의 샘플을 넣어. 만약 출력이 길이 4의 행 (!) 벡터라면 (여러분의 사전 할당을 기반으로 생각합니다)'output (sensv0-84, :) = Outvs;를 시도해 볼 수 있습니다 Subverseing 84는 인덱스 1 4로 설정하고 전체 행을 콜론으로 선택합니다. 이것이 작동하지 않는다면'Outvs'를'output'의 일부 서브셋에 할당하는 대신 화면에 출력하십시오. 그런 다음'Outvs'가 실제로 어떻게 보이는지를 볼 수 있고 그것을 기반으로'output' 행렬의 일부에이를 적절하게 저장할 수있는 방법을 생각할 수 있습니다. – MeMyselfAndI
죄송합니다. 질문에 'Outvs'모양을 포함 시켰습니다. 4 × 1입니다. 따라서 이것은'output (:, sensv0-84) = Outvs;가 작동해야 함을 의미합니다. 나는 너 자신을 알아낼 수 있다고 확신한다;) – MeMyselfAndI