Solve a numerical function
이전 댓글 표시
I am trying to solve a numerical equation with three unkonown values Ge, G and t , thse values will be approximated by fitting the curve with the from equation (Gp) to the following data obtained.
This means that is possible to make a curve approximation in order to know the values of the G anf t terms, depending on the number of terms desired for the sum.
I would really appreciate if someone could help me please. Here is the code and the data:
clear all, close all
data1=[0.010931641 0.011369615 0.012298683];
data2=[691.5802655 719.3455778 778.7159258];
Gp=data2(1); wp=data1(1);
for i=1:11
Gp=Ge+(G(i)*wp^2*t(i)^2)/(1+wp^2*t(i)^2)
end
댓글 수: 3
Sam Chak
2022년 5월 27일
You have 3 unknown variables, but only 1 equation to describe the relationship. Can you provide more information about the problem?
Gp = Ge + (G*wp²*t²)/(1 + wp²*t²)
(Gp – Ge)*(1 + wp²*t²) = G*wp²*t²
(Gp – Ge)*(1/(wp²*t²) + 1) = G
Walter Roberson
2022년 5월 27일
It is a curve fitting problem. You can solve for three variables if you have 3 or more points, each of which generates an implicit equation.
issam BEN SALAH
2022년 5월 27일
답변 (1개)
Sam Chak
2022년 5월 28일
Hi Issam
From the advice of Mr. Roberson, you can create 3 equations from the data points:
691.5802655 = Ge + (G*0.010931641²*t²)/(1 + 0.010931641²*t²);
719.3455778 = Ge + (G*0.011369615²*t²)/(1 + 0.011369615²*t²);
778.7159258 = Ge + (G*0.012298683²*t²)/(1 + 0.012298683²*t²);
and then solve them simultaneously to obtain the solutions for the 3 variables:
Ge ≈ 260.642
G ≈ 2166.56
t ≈ ±45.5822
댓글 수: 5
issam BEN SALAH
2022년 5월 29일
Sam Chak
2022년 5월 29일
Hi Issam
If you have 11 equations (required to solve for 11 variables), then you can use the code involving the fsolve function as shown here:
Else, you can consult with Mr. @Walter Roberson if there is a better way for solving for 11 variables.
issam BEN SALAH
2022년 5월 29일
I only see two solutions.
In any case, why do you think that is an error?
syms Ge G1 t1 G2 t2;
w=[0.010931641 0.011369615 0.012298683];
Gp=[691.5802655 719.3455778 778.7159258];
E1= (Ge - Gp(1) + (G1*t1^2*w(1)^2)/(t1^2*w(1)^2 + 1)+(G2*t2^2*w(1)^2)/(t2^2*w(1)^2 + 1));
E11=(- Gp(1) + (G1*t1^2*w(1)^2)/(t1^2*w(1)^2 + 1)+(G2*t2^2*w(1)^2)/(t2^2*w(1)^2 + 1));
E2=(Ge - Gp(2) + (G1*t1^2*w(2)^2)/(t1^2*w(2)^2 + 1)+(G2*t2^2*w(2)^2)/(t2^2*w(2)^2 + 1));
E22=(- Gp(2) + (G1*t1^2*w(2)^2)/(t1^2*w(2)^2 + 1)+(G2*t2^2*w(2)^2)/(t2^2*w(2)^2 + 1));
E3=(Ge - Gp(3) + (G1*t1^2*w(3)^2)/(t1^2*w(3)^2 + 1)+(G2*t2^2*w(3)^2)/(t2^2*w(3)^2 + 1));
E33=(- Gp(3) + (G1*t1^2*w(3)^2)/(t1^2*w(3)^2 + 1)+ (G2*t2^2*w(3)^2)/(t2^2*w(3)^2 + 1));
sol = solve(E1,E11,E2,E22,E3,E33, Ge, G1, t1, G2, t2)
vpa(subs([Ge, G1, t1, G2, t2], sol))
issam BEN SALAH
2022년 5월 30일
카테고리
도움말 센터 및 File Exchange에서 Linear Algebra에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
