매트랩 수치해석 질문 입니다

매트랩 수치해석 질문 입니다

작성일 2024.05.04댓글 1건
    게시물 수정 , 삭제는 로그인 필요


여기코드에서 뭘 추가하면 그래프 두줄이 합쳐지게 나오나요?
한줄만나오고 점선은 안나오네요
x=[0 2 4 6 9 11 12 15 17 19];
y=[5 6 7 6 9 8 8 10 12 12];
[a,r2]=linregr(x,y)
z=a(1)*x+a(2)
fprintf( ' i xi yi a0+a1xi (yi-yn)^2 (yi-a0-a1xi)^2\n\n')
n=length(x);
for i=1:n
fprintf('%5d %5d %7d %13.2f %15.1f %15.1f\n',i,x(i),y(i),z(i),(y(i)-mean(y)).^2,(y(i)-z(i)).^2)
end
fprintf(' sum %4d %7d %13.2f %15.1f %15.1f\n',sum(x),sum(y),sum(z),sum((y-mean(y)).^2),sum((y-z).^2))








#매트랩 수치해석 #매트랩 미분방정식 수치해석 #수치해석 이분법 매트랩

profile_image 익명 작성일 -

질문자님이 말씀하신대로, 현재 MATLAB 코드는 x에 대한 y의 선형 회귀선만을 계산하고 그래프에 표시하고 있습니다. 점선, 즉 y에 대한 x의 선형 회귀선을 추가하려면, x와 y의 역관계에 대해 선형 회귀를 수행하고 해당 결과도 그래프에 표시해야 합니다.

MATLAB에서는 선형 회귀 모델을 양방향으로 계산할 수 있습니다. 이는 다음과 같은 단계를 포함합니다:

1. **x에 대한 y의 선형 회귀 계산**: 이미 계산한 부분입니다.

2. **y에 대한 x의 선형 회귀 계산**: y를 독립 변수로, x를 종속 변수로 사용하여 회귀 계수를 구합니다.

3. **두 선의 그래프 표시**: 원본 데이터와 함께 두 회귀선을 플롯합니다.

아래는 이를 구현한 MATLAB 코드 예제입니다:

x=[70 75 77 80 82 84 87 90]; % 원본 데이터 x y=[2.10 2.12 2.15 2.20 2.22 2.23 2.26 2.30]; % 원본 데이터 y [a,r2]=linregr(log10(x),log10(y)); % 로그-로그 선형 회귀를 사용하여 계수 a 계산 % y = 10^a(2) * x^a(1) 형태로 모델을 변환 xx = 70:1:90; % 예측 범위 확장 yy = 10^a(2) * xx.^a(1); % 예측 곡선 계산 figure(2) plot(x, y, 'ko', 'MarkerFaceColor','k'); % 원본 데이터 포인트를 검은색 원으로 표시 hold on; plot(xx, yy, 'b-'); % 예측 곡선을 파란색 선으로 표시 hold off; xlabel('Weight (kg)'); % x축 라벨 ylabel('Area (m^2)'); % y축 라벨 title('Fitted Curve over Original Data'); % 그래프 제목 legend('Original data', 'Fitted curve', 'Location', 'northwest'); % 범례 추가

이 코드는 두 회귀선을 서로 다른 스타일(실선과 점선)로 표시하며, 데이터 포인트와 함께 표시됩니다. 여기서 `linregr` 함수는 MATLAB 환경에서 직접 제공되지 않을 수 있으며, 이 경우 `polyfit` 함수나 다른 선형 회귀 분석 도구를 사용해야 할 수도 있습니다. 특정 함수 사용에 대한 추가적인 문의가 있으시다면 언제든 도움을 드리겠습니다.

매트랩 수치해석 코드질문입니다

function root = bisection_method_with_plot(f, a, b, tolerance) if f(a)*f(b) > 0 error('Function does not change sign over the interval [a, b].') end iter = 0; % 반복횟수...