Why fsurf show anything for my function?

1 次查看(过去 30 天)
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