반원의 꼭대기에 점을 그려 넣은 프로그램을 특정 간격으로 배치하고 직선을도에 쓰고 싶습니다. 이런 식으로 : __n__
.MATLAB 조각 함수 + 벡터 조작
시간 도메인을 정의했으며 벡터 (t = 0:0.01:5
)로 저장했습니다.
if t>=2|t<=2.3
y = sqrt(.15^2-(t-2.15)^2);
을하지만, MATLAB 만 평방 행렬의 제곱 할 수 없다는 오류 메시지가 생성 : 나는 시간 벡터의 요소를 사용하여 반원의 상단에있는 점을 정의 할 수 있다고 가정한다.
나는 내가 t 벡터의 요소를 제곱하고 싶어하지 전체 벡터 것을 보여주기 위해 인덱스를 활용하는 시도 : 이러한 실패 후
i = [200:230];
for t(200:230)
y = sqrt(.15^2-(t(i)-2.15)^2);
, 나는 눈치 그 중 하나가 열이있는 정방 행렬을 제곱 0이 아닌 요소는 첫 번째 행렬 요소의 제곱의 열이있는 새 사각형 행렬을 생성합니다. 행렬을 제곱 한 후에 여분의 0 열을 제거하는 방법이 있다면 행렬의 해당 특성을 사용하여 t 벡터의 값을 제곱 할 수 있습니다.
이 문제를 해결하는 가장 간단하고 효과적인 방법은 무엇입니까?
이 설명이 도움이되었습니다. 다음은 내가 컴파일 한 코드입니다 : '% 전달 구성 요소의 구성 요소 : 북쪽 = 1.31 * 10^6 * [1 13.3]; south = [1 516.1 5.685 * 10^4 1.307 * 10^6 1.733 * 10^7]; h = tf (북쪽, 남쪽); % 시간 간격 : t = 0 : 0.01 : 5; % 조각 기능을 사용하여 속도계에서 점을 정의하십시오 : y = 제로 (크기 (t)); index = find ((t> = 2) & (t <= 2.3)); y (색인) = sqrt (.15^2- (t (색인) -2.15).^2); y ([1 : 색인 (1) 색인 (끝) : 끝]) = y (색인 (1)); 응답이있는 원형 지시 기능 : lsim (h, y, t); ' 감사합니다. –