how to get precise conversion in matlab?
2 次查看(过去 30 天)
显示 更早的评论
hi
when i want to convert degrees(89.999999999999668207879992402105) into radians matlab gives 1.5707963267948966192313216916398 value as a output. but when i reverse the process it gives round off figure 90. but i need actual and accurate conversion value not the round off.*
vpa(89.999999999999668207879992402105*pi/180)
ans = 1.5707963267948966192313216916398
but when re-convert back to original form
vpa(1.5707963267948966192313216916398*180/pi)
ans = 90.0
i also change the the number of digits like vpa(1.5707963267948966192313216916398*180/pi,100) etc but observe the same results. kindly help me i will be highly thankful to you for this act of kindness
with best regards mudasir ahmed
0 个评论
采纳的回答
Walter Roberson
2015-12-22
Every time you use a literal number in MATLAB that is not inside a string, MATLAB is going to evaluate the number as double precision before the Symbolic toolbox gets control. You need to quote your numbers. You should also get in the habit of sym()'ing them
vpa('89.999999999999668207879992402105*pi/180')
vpa('1.5707963267948966192313216916398*180/pi')
but better
vpa(sym('89.999999999999668207879992402105*pi/180'))
vpa(sym('1.5707963267948966192313216916398*180/pi'))
6 个评论
Walter Roberson
2015-12-23
编辑:Walter Roberson
2015-12-23
Where are those numbers coming from? What is class(angles) ?
As far as double precision numbers are concerned, 89.999999999999667479426986067257 and 89.999999999999668207879992402105 are the same number, both of them being 89.9999999999996731503415503539144992828369140625 . That is something that cannot be changed with double precision numbers. You need to use some kind of extended precision numbers if you want them to be different, and using extended precision numbers will require a different syntax to enter the numbers.
angles= [
sym('88.25292994445806042220189637777'), sym('89.999999999999667479426986067257'), sym('89.999999999999668207879992402105');
sym('86.472119235585302296157262009321'), sym('89.999999999981123270039862159233'), sym('89.999999999999993121983558088696');
sym('84.665084516953164820028709815801'), sym('89.999988086384753274282238804303'), sym('89.999999999999999806246175977474');
sym('82.83552790044595696067282049508'), sym('89.999999999999991112449117158209'), sym('89.999999999999993100744665396289');
sym('80.986484951716410032164762120977'), sym('89.999999999959332692365063960468'), sym('89.999999999999993122476505390389');
sym('79.121948083059506104642254539888'), sym('89.999999975262684086292374865148'), sym('89.999999975262721970224316791639');
sym('77.244683750911755612284108834821'), sym('89.999999986727214128999425244292'), sym(' 89.999999999999993118675432116');
sym('75.357853348492194774432573472921'), sym('89.999999996394470554515857407735'), sym('89.999999999999993122326059745969');
sym('73.464609154556051725140093954363'), sym('89.999999999999992753073655039909'), sym(' 89.99999999999999312244662902997');
sym('71.567882600107703152375030768898'), sym('89.999999999999992581194507627371'), sym('89.999999999999903122444226118167');
sym('69.670377917650110578302342213061'), sym(' 89.99999999999999253319867704809'), sym('89.999999999999993122506541238628');
sym('67.774518693860294741798881967926'), sym('89.999999999741931635361989813778'), sym(' 89.99999999999999311361444679491');
sym('65.8822150925780553458648880066'), sym('89.999999999999993098178222946334'), sym('89.999999999999993098179444490446');
sym('63.995531641271152333402009895049'), sym(' 89.99999999999998928710524083006'), sym('89.999999999999989287200958233939');
sym('62.11650712167783271029169712539'), sym('89.999999999999992778649497157995'), sym('89.999999999999993114151872373191');
sym('60.248879494097092226691703377443'), sym('89.999999714196263418663102999409'), sym('89.999999714228313385429057755702');
sym('58.403778779168425376458768895025'), sym('89.999999999137259749938314739589'), sym('89.999999999137259749982719609229');
sym('56.981178198306788453173114217814'), sym('89.762868470688394985205767662633'), sym('89.762868476395663591421156348161');
sym('55.797765504938677490457342932495'), sym('89.373318780644193165202171792606'), sym('89.373318781818103518674315233533');
sym('54.587935182089116272733342933166'), sym('88.990431406326516856547028587032'), sym('88.990431406591153148197145112555');
sym('53.354014335890068423930796964625'), sym('88.614043918721599881539781770388'), sym('88.614043920256183958551643928488');
sym('52.102828587990070160284343107814'), sym(' 88.2428950103448063709444005364'), sym('88.242895010344837842115341055113');
sym('50.847370222094078935464371138828'), sym('87.874480590803891405154343446749'), sym('87.874480590804517899382996732148');
sym('49.608305531180989583106115411603'), sym('87.505432535307217476773269948055'), sym('87.505432535865023730893742717288');
sym('48.415797409309773763494041129682'), sym('87.133249369666402388158308284657'), sym(' 87.13324953896692912915248042765');
sym('47.319006419412375441482463740122'), sym('86.762822149627226035956852057888'), sym('86.762822149627228080575948403545');
sym('46.582079859159937061510793780591'), sym('85.719451610184566072659221879479'), sym('87.244618123174325584003266671315');
sym('46.066041618599459232573510370179'), sym('82.026624770981104993564747832309'), sym('89.000000000000003122506798154241');
sym('45.386778108921029448330688915442'), sym('81.056639804856155393782241508934'), sym(' 89.00000000000000312247901974552');
sym('44.810709922770479654022899731807'), sym(' 79.85140653285072910261889475959'), sym('89.000000000000003121517090477509');
sym('44.407994718303529322012130356452'), sym('78.406341220762609832287704998145'), sym('89.000000000000003122506695222577');
sym('44.177863358331681247268470314704'), sym('76.663658074969014950975482110977'), sym('89.000000000000003122362329641815');
sym('43.959810840916627632291752292788'), sym('73.526831898059132595944316095278'), sym('89.000000000000003122504187530516');
sym('43.694419499184883392828891264002'), sym(' 71.75826883167902918068982670604'), sym('89.000000000000003121788745062828');
sym('43.251027741546380039207997137945'), sym('70.234204727031649621801943389907'), sym('89.000000000000003122474996583343');
sym('42.637418116998151402898983978727'), sym('68.912769676021656973403748785698'), sym('89.000000000000003032880353561533');
sym('41.898435136021901434977609783495'), sym('67.773923707251102112336590588202'), sym('89.000000000000003122504697427467');
sym('41.184836475454770526169624685702'), sym('66.903523494547958673973603864466'), sym('89.999999999999833536432947613648');
sym('40.862428381239072388102799260482'), sym('66.084460073179689509157465280485'), sym('89.522829700704316787172015822126');
sym('40.540636516266952240290820560618'), sym('65.126856819772530912519556002545'), sym('88.885960217714551629279716649383');
sym('40.255659784465259598431523791579'), sym('64.179840758641944635799072580719'), sym('88.207464330630301643708029281103');
sym('40.010850945561494237717302179161'), sym('63.241575921375690128896697217686'), sym('87.487400817245291516764549854452');
sym('39.808713467498020600905167414088'), sym('62.310121158268191017439073675237'), sym('86.724205099590538795832209618294');
sym('39.651235699137941154002866223805'), sym('61.387356173012999132998791694196'), sym(' 85.91804512572354531908684362598');
sym('39.538165194430280277915644799375'), sym('60.474250224993075081920867482213'), sym('85.067062469592128985115362682617');
sym('39.466960110666933148365305580884'), sym('59.573532356428610582620723516641'), sym('84.169326156839994722851898365978');
sym('39.432015845884450041682328081975'), sym('58.691141415603703186188852732795'), sym('83.224154081908098098508638307682');
sym('39.423721721040762557018620661906'), sym('57.835912725846163986993181391419'), sym('82.231710005217201980940318929372');
sym('39.427854203804045936737648421399'), sym('57.017100025090666114824479945582'), sym('81.189279997945968027347943050819');
sym('39.42505232601452888509690209578'), sym('56.249739658269332912940637300166'), sym('80.096660166863752270670416837442');
sym('39.390647447196684122821808748718'), sym('55.554432288866649394544143908114'), sym('78.956794112988051435129100678996');
sym('39.295485434138460655069960782315'), sym('54.953114909013826829509310430046'), sym('77.770798037323940758694874186351');
sym('39.106436458825812238377876015907'), sym('54.466546953908171183194461748773'), sym('76.532876400986841674072654241597');
sym('38.793346478561563885338769852014'), sym('54.120399281175709446322937865147'), sym('75.254931673637856533630653734693');
sym('38.330331127711641851815067265581'), sym('53.927323291318870022982211863696'), sym('73.937833541301955656658610212964');
sym('17.088336490954339743320153482257'), sym('49.063555853518496847132695282611'), sym('86.047629575645551833491762427327');
sym('16.138569401829393302518657353023'), sym('47.609081651809559546929063777857'), sym('85.687450126216674276932334350917');
sym('15.006475424769433438288650255401'), sym('45.977935577213604395403971235973'), sym('85.458978723833229830146633948827');
sym('13.619921345600788002490770721217'), sym('44.078709299048245947591214648017'), sym('85.426302992581532156656023919662');
sym('11.8267650623723926497981201656'), sym('41.712142445713757074070877012241'), sym('85.715080131695754408779817641065');
sym('9.2245296243075231345408544818852'), sym('38.299037256485604674692363795935'), sym('86.666411504850157482944820068921');
sym('5.1388074134133179210918029726465'), sym('30.843701804839442708201058844684'), sym('89.000000000000003122351467095414');
sym('28.959785727621613973517205409994'), sym('54.325495430170720034364047354408'), sym('64.413455707717931471957842514634');
sym('27.300263679611003321724553761333'), sym(' 53.40589763966739257758376287618'), sym('64.201206002843651134925162070302');
sym('25.62282243403643143500417851977'), sym('52.123521237961941855752478708157'), sym('64.256742505487985426401814667469');
sym('23.974934495670188034831815641503'), sym('50.610887465555046818907822300253'), sym(' 64.42902804551721983255616881651');
sym('22.393617675833419721572977100908'), sym('48.983754817517843921699882905277'), sym(' 64.58777051075157160282839204065');
sym('20.9136705221437470819555683003'), sym('47.330951777057346264087673835005'), sym('64.649303247434845792310399744472');
sym('19.552736292111277733563303438249'), sym('45.704802598671202874024285901832'), sym(' 64.57638555534845735610850884807');
sym('18.303004911231574024589890716086'), sym('44.115175486918536557716106802083'), sym(' 64.36236010002650130446682268459');
sym('17.162176457503987920893415185285'), sym('42.570027260737358172789268488225'), sym('64.017828883422816119207996253756');
sym('16.120123743171187924138480960379'), sym('41.060901322245796730887839713783'), sym('63.558787904260808428485984774223');
sym('15.166787409098382995826927992926'), sym(' 39.57207210327954701605610969234'), sym('62.999463759677363774229270520181');
sym('14.301439336879539867450684659215'), sym('38.094384784038862633711645600066'), sym('62.354253677110472521393429410139');
sym('13.526832297231141653098236378403'), sym('36.616770587520529103625710863017'), sym('61.634524238867484228443610224466');
sym('12.850501310778781306222068328247'), sym('35.126883705709719841402168873312'), sym('60.848444575878857649176841110459');
sym('12.284397912758216491110610479016'), sym(' 33.60675249292420351290535089423'), sym('59.998875787093948993659901232047');
sym('11.850657253299977011459150618238'), sym('32.043625573573381396489406033223'), sym('59.090265841925510609666078241094');
sym('11.578458542097010605365011465385'), sym('30.422986869093006618461491586559'), sym('58.126530416235207016291855738527');
sym('11.504263485735878495047308258173'), sym(' 28.71572390735581123066212518705'), sym('57.105329541189146473954034925919');
sym('11.678732472807425838154168030856'), sym('26.886189539992739528140603212764'), sym('56.027010863763760399102906686034');
sym('12.181306720144578013295213987822'), sym('24.859896939437277868477685302965'), sym('54.886481012736021475711619783746');
sym('13.184370198537854836016299301885'), sym('22.468617738031179119546537731579'), sym('53.681045085177236860613126547676');
sym('15.642414758797712348570085462682'), sym('18.748259766124868423160203703476'), sym('52.401564526560994561415411772799');
sym('16.9508665100419632846198400422'), sym('16.950866510041963793699713245751'), sym('51.740960676360972733385568307922');
sym('16.498212382502374803847658602886'), sym('16.498212382692138566414870516934'), sym('50.402561559214755262635615502243');
sym('15.919905061949010353340137349393'), sym('15.919905061949010413452495414692'), sym('48.674082816172438711434825843997');
sym('15.183925314231711540908280773759'), sym('15.183925314261638594109821471355'), sym('46.476547248247282760657883572379');
sym('13.412731496284297607231295000985'), sym('13.412731496523672719107295235403'), sym('41.252575359960835968731759787589');
sym('12.714440699371424835588987115622'), sym('12.714440699371426022738711185432'), sym('39.141116126870159748204294086147');
sym('12.186838895206284480010663039331'), sym('12.186838895238221924881752059544'), sym('37.452396542858788255661055148553');
sym('7.600148345944255809874815387914'), sym('15.556265751981246969820316657954'), sym('36.289755985020056214898092792324');
sym('0.0000000000000031922172083790895440123007852701'), sym('17.921422936799498618476457878867'), sym('34.872114308935505260139893222266');
sym('0.000000000000013161458532581005948154928445771'), sym('17.434764669812986472753895945526'), sym('33.670396354896374198562337436628');
sym('0.00000000028643072306544462460669910260623'), sym('16.913669506785211610166569111438'), sym('32.006505847327203996890387585791');
sym('0.00000000025303621218320715713595039830793'), sym('16.561564817383445960663272025325'), sym('30.002218759573927269136189010233');
sym('0.00000000049538621296507250113310323848921'), sym('16.603361740208815054040574393569'), sym('27.558765435517896448831430971234');
sym('0.00000000022796327950043512563397227058782'), sym('17.631108143238673261963545038128'), sym('24.170514514119890139717605257263');
sym('4.018646510795218826538722177555'), sym('19.438461505599588429240452317561'), sym('19.439167200283906564736128157213');
sym('0.0000000000000000031052008141318308720142949148162'), sym('19.653908916254078761677904582833'), sym('19.653908916254078763091318017406]');
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Special Values 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!