using inverse hyperbolic functions cosh in matlab
3 views (last 30 days)
Show older comments
Hi every one
I have vector of complex data that has real and imaginary part. I want to use cosh of this data in MATLAB. then I want to use the invers of cosh to return me to the data input. I used in MATLAB this code
A= [ 10.9837193883460 + 26.5347537674488i 9.08578029925812 + 27.2688648124603i 7.13892338965110 + 27.8674662179979i 5.15283024456107 + 28.3273169598239i 3.13739622908723 + 28.6458664819948i 1.10268121205304 + 28.8212686991090i -0.941140621386700 + 28.8523924881452i -2.98383161797377 + 28.7388286111658i -5.01514191135404 + 28.4808930279443i -7.02486082745132 + 28.0796265756387i -9.00286818246618 + 27.5367910108141i -10.9391852159635 + 26.8548614273679i -12.8240249028140 + 26.0370150821188i -14.6478413905078 + 25.0871166778933i -16.4013783122172 + 24.0097001718231i -18.0757157312878 + 22.8099471941067i -19.6623154792203 + 21.4936621796417i -21.1530646568884 + 20.0672443316137i -22.5403170775323 + 18.5376565522323i -23.8169324400296 + 16.9123914912512i -24.9763130319849 + 15.1994348776115i -26.0124377741751 + 13.4072263135169i -26.9198934309609 + 11.5446177232455i -27.6939028251654 + 9.62082966110862i -28.3303499106663 + 7.64540569408595i -28.8258015714740 + 5.62816508468216i -29.1775260322726 + 3.57915400845697i -29.3835077821777 + 1.50859554847569i -29.4424589308279 - 0.573161284572463i -29.3538269336532 - 2.65569325247631i -29.1177986412982 - 4.72855505165752i -28.7353006465233 - 6.78133167652808i -28.2079959204595 - 8.80369072161829i -27.5382767486756 - 10.7854343599834i -26.7292539961117 - 12.7165507365551i -25.7847427483981 - 14.5872645175724i -24.7092443953497 - 16.3880863410096i -23.5079252403681 - 18.1098609180221i -22.1865917370961 - 19.7438135417332i -20.7516624717032 - 21.2815947673119i -19.2101370258051 - 22.7153230359575i -17.5695618707992 - 24.0376250254637i -15.8379934596274 - 25.2416735209560i -14.0239586962942 - 26.3212226115406i -12.1364129769286 - 27.2706400316673i -10.1846960087276 - 28.0849364800239i -8.17848562456214 - 28.7597917636580i -6.12774982152663 - 29.2915776306869i -4.04269726096728 - 29.6773771713292i -1.93372647568119 - 29.9150006840109i];
B= cosh(A);
C=acosh(B);
In theoretically, I should get C=A but I couldn’t find in MATLAB. Can you help me with this problem?
0 Comments
Accepted Answer
Voss
on 6 May 2022
"theoretically, I should get C=A"
Not necessarily.
x = -1.5:0.1:1.5;
plot(x,cosh(x))
line([1 1],[1 cosh(1)],'Color','r','LineStyle','--')
text(-1,1,'x = -1','HorizontalAlignment','right','VerticalAlignment','bottom')
line([-2 1],cosh([1 1]),'Color','r','LineStyle','--')
text(-2,cosh(1),sprintf('y = cosh(x) = %.2f',cosh(1)),'VerticalAlignment','bottom')
line([-1 1],cosh([1 1]),'LineStyle','none','Marker','o','Color','r')
line([-1 -1],[1 cosh(1)],'Color','r','LineStyle','--')
text(1,1,'x = 1','VerticalAlignment','bottom')
cosh(1) == cosh(-1), and they are both approximately 1.54.
So acosh(1.54) returns 1, but what if you started with x = -1? You could not say that acosh(cosh(x)) = x.
A= [ 10.9837193883460 + 26.5347537674488i 9.08578029925812 + 27.2688648124603i 7.13892338965110 + 27.8674662179979i 5.15283024456107 + 28.3273169598239i 3.13739622908723 + 28.6458664819948i 1.10268121205304 + 28.8212686991090i -0.941140621386700 + 28.8523924881452i -2.98383161797377 + 28.7388286111658i -5.01514191135404 + 28.4808930279443i -7.02486082745132 + 28.0796265756387i -9.00286818246618 + 27.5367910108141i -10.9391852159635 + 26.8548614273679i -12.8240249028140 + 26.0370150821188i -14.6478413905078 + 25.0871166778933i -16.4013783122172 + 24.0097001718231i -18.0757157312878 + 22.8099471941067i -19.6623154792203 + 21.4936621796417i -21.1530646568884 + 20.0672443316137i -22.5403170775323 + 18.5376565522323i -23.8169324400296 + 16.9123914912512i -24.9763130319849 + 15.1994348776115i -26.0124377741751 + 13.4072263135169i -26.9198934309609 + 11.5446177232455i -27.6939028251654 + 9.62082966110862i -28.3303499106663 + 7.64540569408595i -28.8258015714740 + 5.62816508468216i -29.1775260322726 + 3.57915400845697i -29.3835077821777 + 1.50859554847569i -29.4424589308279 - 0.573161284572463i -29.3538269336532 - 2.65569325247631i -29.1177986412982 - 4.72855505165752i -28.7353006465233 - 6.78133167652808i -28.2079959204595 - 8.80369072161829i -27.5382767486756 - 10.7854343599834i -26.7292539961117 - 12.7165507365551i -25.7847427483981 - 14.5872645175724i -24.7092443953497 - 16.3880863410096i -23.5079252403681 - 18.1098609180221i -22.1865917370961 - 19.7438135417332i -20.7516624717032 - 21.2815947673119i -19.2101370258051 - 22.7153230359575i -17.5695618707992 - 24.0376250254637i -15.8379934596274 - 25.2416735209560i -14.0239586962942 - 26.3212226115406i -12.1364129769286 - 27.2706400316673i -10.1846960087276 - 28.0849364800239i -8.17848562456214 - 28.7597917636580i -6.12774982152663 - 29.2915776306869i -4.04269726096728 - 29.6773771713292i -1.93372647568119 - 29.9150006840109i]
B = cosh(A);
C = acosh(B)
isequal(A,C)
4 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!