비선형 함수에 최소 정사각형으로 데이터를 맞추는 데 도움이 필요합니다. 데이터가 주어지면 다음 방정식이있을 때 어떻게 진행합니까?비선형 방정식에 최소한 정사각형으로 데이터 피팅
F (x)는 20 = AX + B + E *^(c *의 2 배)
그래서 I는 A, B 및 C 찾을. 그것이 제품이라면 함수 전체에 자연 로그를 적용하여 함수를 선형화 할 것이지만이 경우에는 그렇게 할 수 없습니다.감사
비선형 함수에 최소 정사각형으로 데이터를 맞추는 데 도움이 필요합니다. 데이터가 주어지면 다음 방정식이있을 때 어떻게 진행합니까?비선형 방정식에 최소한 정사각형으로 데이터 피팅
F (x)는 20 = AX + B + E *^(c *의 2 배)
그래서 I는 A, B 및 C 찾을. 그것이 제품이라면 함수 전체에 자연 로그를 적용하여 함수를 선형화 할 것이지만이 경우에는 그렇게 할 수 없습니다.감사
당신은 곡선 피팅 도구 상자가 필요하지 않습니다 nlinfit
도구 (나는 생각하지 않는다를 ...)
뭔가
f = @(b,x)(20 + b(1)*x + b(2)*exp(b(3)*2*x));
beta0 = [1, 1, 1];
beta = nlinfit(x, Y, f, beta0);
등을 사용할 수 있습니다 문제가 발생하면 계수를 벡터
b
의 익명 함수
f
에 전달합니다.
nlinfit
은
beta
벡터에서 이러한 계수의 최종 값을 반환합니다.
beta0
은
b(1)
,
b(2)
및
b(3)
의 초기 추측입니다.
x
및
Y
은 원하는 데이터가있는 벡터입니다.
또는 조금 더 복잡한 경우 자체 파일에서 함수를 정의 할 수 있습니다. 이 경우를 들어, 당신은 또한
beta0 = [1, 1, 1];
beta = nlinfit(x, Y, @my_function, beta0);
참조 같을 것이다
function y = my_function(b,x)
y = 20 + b(1)*x + b(2)*exp(b(3)*2*x);
end
및 코드의 나머지 부분 (파일 my_function.m
에서) 뭔가를 할 것이다 : Using nlinfit in Matlab?
당신은 피팅 데이터에 대한 대화 형 도구입니다 cftool
을 시도 할 수 있습니다. 내가 이해하지 못하는 두 번째 부분. 보다 자세하게 설명하면 도움이 될 수 있습니다. MATLAB이 최소 제곱를 해결하면
감사합니다! 이것은 많은 도움이되었습니다! – user3342830
@ user3342830 안녕하세요! 나는 이것이 도움이 되었기 때문에 기쁩니다 :-)이 질문에 답을 얻은 경우 화살표 아래의 녹색 체크 표시를 클릭하여이 대답의 [acceptance] (http://stackoverflow.com/help/accepted-answer)를 표시 할 수 있습니까? ? – darthbith