Why fsurf show anything for my function?

조회 수: 1 (최근 30일)
Mehdi
Mehdi 2022년 9월 19일
편집: Torsten 2022년 9월 19일
I have a two variable symbolic function. I want to plot it through fsurf, but nothing happened. Where is the problem?
clear
syms eta__2 zeta__2
Hvs2 =((2305843009213693952*(eta__2 - 8331386150863307/9007199254740992)^2)/4468747621300827 + zeta__2^2 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627358085/4503599627370496)^2)/2464427449 + (9223372036854775808*(zeta__2 + 8874786567161339/9007199254740992)^2)/1993284949101825 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627368287/4503599627370496)^2)/78092569 + (144115188075855872*(zeta__2 + 5839205668947691/36028797018963968)^2)/2587820009746145 - 1)*((324518553658426726783156020576256*(eta__2 - 4503599627333911/4503599627370496)^2)/21415688281 + (4503599627370496*(zeta__2 - 1882639988738625/2251799813685248)^2)/73228201827365 - 1)*((576460752303423488*(zeta__2 - 4078517724083247/4503599627370496)^2)/2165235226682789 + (81129638414606681695789005144064*(eta__2 + 9007199254726729/9007199254740992)^2)/203433169 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627367767/4503599627370496)^2)/119137225 + (288230376151711744*(zeta__2 - 8379468112984681/18014398509481984)^2)/4538947610255513 - 1)*((324518553658426726783156020576256*(eta__2 + 1125899906841383/1125899906842624)^2)/394300449 + (288230376151711744*(zeta__2 + 3274236097988363/4503599627370496)^2)/2892513115795259 - 1)*((79228162514264337593543950336*(eta__2 - 281474976710133/281474976710656)^2)/273529 + (73786976294838206464*(zeta__2 + 8920499049153031/9007199254740992)^2)/6836604051381713 - 1);
fsurf(Hvs2,[-1,1,-1,1]);

채택된 답변

Matt J
Matt J 2022년 9월 19일
You should normalize the function, so that the default MeshDensity works well.
syms eta__2 zeta__2
Hvs2 =((2305843009213693952*(eta__2 - 8331386150863307/9007199254740992)^2)/4468747621300827 + zeta__2^2 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627358085/4503599627370496)^2)/2464427449 + (9223372036854775808*(zeta__2 + 8874786567161339/9007199254740992)^2)/1993284949101825 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627368287/4503599627370496)^2)/78092569 + (144115188075855872*(zeta__2 + 5839205668947691/36028797018963968)^2)/2587820009746145 - 1)*((324518553658426726783156020576256*(eta__2 - 4503599627333911/4503599627370496)^2)/21415688281 + (4503599627370496*(zeta__2 - 1882639988738625/2251799813685248)^2)/73228201827365 - 1)*((576460752303423488*(zeta__2 - 4078517724083247/4503599627370496)^2)/2165235226682789 + (81129638414606681695789005144064*(eta__2 + 9007199254726729/9007199254740992)^2)/203433169 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627367767/4503599627370496)^2)/119137225 + (288230376151711744*(zeta__2 - 8379468112984681/18014398509481984)^2)/4538947610255513 - 1)*((324518553658426726783156020576256*(eta__2 + 1125899906841383/1125899906842624)^2)/394300449 + (288230376151711744*(zeta__2 + 3274236097988363/4503599627370496)^2)/2892513115795259 - 1)*((79228162514264337593543950336*(eta__2 - 281474976710133/281474976710656)^2)/273529 + (73786976294838206464*(zeta__2 + 8920499049153031/9007199254740992)^2)/6836604051381713 - 1);
fsurf(Hvs2/1e168,[-1,1,-1,1])

추가 답변 (1개)

Torsten
Torsten 2022년 9월 19일
편집: Torsten 2022년 9월 19일
Is this an explanation ?
clear
syms eta__2 zeta__2
Hvs2 =((2305843009213693952*(eta__2 - 8331386150863307/9007199254740992)^2)/4468747621300827 + zeta__2^2 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627358085/4503599627370496)^2)/2464427449 + (9223372036854775808*(zeta__2 + 8874786567161339/9007199254740992)^2)/1993284949101825 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627368287/4503599627370496)^2)/78092569 + (144115188075855872*(zeta__2 + 5839205668947691/36028797018963968)^2)/2587820009746145 - 1)*((324518553658426726783156020576256*(eta__2 - 4503599627333911/4503599627370496)^2)/21415688281 + (4503599627370496*(zeta__2 - 1882639988738625/2251799813685248)^2)/73228201827365 - 1)*((576460752303423488*(zeta__2 - 4078517724083247/4503599627370496)^2)/2165235226682789 + (81129638414606681695789005144064*(eta__2 + 9007199254726729/9007199254740992)^2)/203433169 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627367767/4503599627370496)^2)/119137225 + (288230376151711744*(zeta__2 - 8379468112984681/18014398509481984)^2)/4538947610255513 - 1)*((324518553658426726783156020576256*(eta__2 + 1125899906841383/1125899906842624)^2)/394300449 + (288230376151711744*(zeta__2 + 3274236097988363/4503599627370496)^2)/2892513115795259 - 1)*((79228162514264337593543950336*(eta__2 - 281474976710133/281474976710656)^2)/273529 + (73786976294838206464*(zeta__2 + 8920499049153031/9007199254740992)^2)/6836604051381713 - 1);
value_at_0 = double(subs(Hvs2,[eta__2,zeta__2],[0 0]))
value_at_0 = 9.4583e+167
fsurf(Hvs2,[-1,1,-1,1]);
  댓글 수: 3
Mehdi
Mehdi 2022년 9월 19일
편집: Mehdi 2022년 9월 19일
how to get rid of rational numbers in equation? (e,g. 8331386150863307/9007199254740992) and convert equation to decimal. (0.9250). this will make more simplify eq.
Torsten
Torsten 2022년 9월 19일
편집: Torsten 2022년 9월 19일
syms eta__2 zeta__2
Hvs2 =((2305843009213693952*(eta__2 - 8331386150863307/9007199254740992)^2)/4468747621300827 + zeta__2^2 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627358085/4503599627370496)^2)/2464427449 + (9223372036854775808*(zeta__2 + 8874786567161339/9007199254740992)^2)/1993284949101825 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627368287/4503599627370496)^2)/78092569 + (144115188075855872*(zeta__2 + 5839205668947691/36028797018963968)^2)/2587820009746145 - 1)*((324518553658426726783156020576256*(eta__2 - 4503599627333911/4503599627370496)^2)/21415688281 + (4503599627370496*(zeta__2 - 1882639988738625/2251799813685248)^2)/73228201827365 - 1)*((576460752303423488*(zeta__2 - 4078517724083247/4503599627370496)^2)/2165235226682789 + (81129638414606681695789005144064*(eta__2 + 9007199254726729/9007199254740992)^2)/203433169 - 1)*((324518553658426726783156020576256*(eta__2 + 4503599627367767/4503599627370496)^2)/119137225 + (288230376151711744*(zeta__2 - 8379468112984681/18014398509481984)^2)/4538947610255513 - 1)*((324518553658426726783156020576256*(eta__2 + 1125899906841383/1125899906842624)^2)/394300449 + (288230376151711744*(zeta__2 + 3274236097988363/4503599627370496)^2)/2892513115795259 - 1)*((79228162514264337593543950336*(eta__2 - 281474976710133/281474976710656)^2)/273529 + (73786976294838206464*(zeta__2 + 8920499049153031/9007199254740992)^2)/6836604051381713 - 1)
Hvs2 = 
Hvs2 = vpa(Hvs2)
Hvs2 = 
value_at_0 = double(subs(Hvs2,[eta__2,zeta__2],[0 0]))
value_at_0 = 9.4583e+167
fsurf(Hvs2,[-1,1,-1,1]);

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

태그

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by