📄 testsinecosine_vs.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"><html xmlns:mwsh="http://www.mathworks.com/namespace/mcode/v1/syntaxhighlight.dtd"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!--This HTML is auto-generated from an M-file.To make changes, update the M-file and republish this document. --> <title>testSineCosine_VS</title> <meta name="generator" content="MATLAB 7.4"> <meta name="date" content="2009-02-27"> <meta name="m-file" content="testSineCosine_VS"><style>body { background-color: white; margin:10px;}h1 { color: #990000; font-size: x-large;}h2 { color: #990000; font-size: medium;}/* Make the text shrink to fit narrow windows, but not stretch too far in wide windows. */ p,h1,h2,div.content div { max-width: 600px; /* Hack for IE6 */ width: auto !important; width: 600px;}pre.codeinput { background: #EEEEEE; padding: 10px;}@media print { pre.codeinput {word-wrap:break-word; width:100%;}} span.keyword {color: #0000FF}span.comment {color: #228B22}span.string {color: #A020F0}span.untermstring {color: #B20000}span.syscmd {color: #B28C00}pre.codeoutput { color: #666666; padding: 10px;}pre.error { color: red;}p.footer { text-align: right; font-size: xx-small; font-weight: lighter; font-style: italic; color: gray;} </style></head> <body> <div class="content"> <h2>Contents</h2> <div> <ul> <li><a href="#1">test sine/cosine</a></li> <li><a href="#2">test abs/atan</a></li> <li><a href="#3">test multiply</a></li> <li><a href="#4">test devision</a></li> <li><a href="#5">test sinh/cosh</a></li> <li><a href="#6">test sqrt/atanh</a></li> </ul> </div> <h2>test sine/cosine<a name="1"></a></h2><pre class="codeinput">theta=linspace(0,pi/2,100)';sine=x_sin;<span class="comment">% datas provided by VS</span>cosine=x_cos;t_cos=cos(theta);<span class="comment">% true values</span>t_sin=sin(theta);figure(1)subplot(221),hold <span class="string">on</span> <span class="comment">% contrast diagram</span>plot(theta,t_cos,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'y'</span>)plot(theta,cosine,<span class="string">'b'</span>)xlim([0 1.6]),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'cos\theta'</span>)title(<span class="string">'Cordic & cos\theta'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(222),hold <span class="string">on</span>plot(theta,t_sin,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)plot(theta,sine,<span class="string">'k'</span>)xlim([0 1.6]),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'sin\theta'</span>)title(<span class="string">'Cordic & sin\theta'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(2,2,3:4),plot(theta,t_cos-cosine,<span class="string">'m'</span>)<span class="comment">% difference</span>hold <span class="string">on</span>,plot(theta,t_sin-sine,<span class="string">'c'</span>),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta\{cos\theta/sin\theta\}'</span>)legend(<span class="string">'\Delta\{cos(.)\}'</span>,<span class="keyword">...</span> <span class="string">'\Delta\{sin(.)\}'</span>)title(<span class="string">'error for CORDIC-sin\theta/cos\theta'</span>)</pre><img vspace="5" hspace="5" src="testSineCosine_VS_01.png"> <h2>test abs/atan<a name="2"></a></h2><pre class="codeinput">y=cos(theta);absolute=x_abs;<span class="comment">% datas provided by VS</span>arctan=x_atan;t_abs=ones(size(y));<span class="comment">% true values</span>t_atan=atan(y);figure(2)subplot(221),hold <span class="string">on</span>plot(y,t_abs,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'y'</span>)plot(y,absolute),hold <span class="string">off</span>xlabel(<span class="string">'y'</span>),ylabel(<span class="string">'sqrt(x^2+y^2)'</span>)title(<span class="string">'Cordic & abs(x+yi)'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(222),hold <span class="string">on</span>plot(y,t_atan,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)plot(y,arctan),hold <span class="string">off</span>xlabel(<span class="string">'y'</span>),ylabel(<span class="string">'atan(.)'</span>)title(<span class="string">'Cordic & atany'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(2,2,3:4)plot(y,t_abs-absolute,<span class="string">'m'</span>),hold <span class="string">on</span>plot(y,t_atan-arctan,<span class="string">'c'</span>),hold <span class="string">off</span>xlabel(<span class="string">'y'</span>),ylabel(<span class="string">'\Delta'</span>)legend(<span class="string">'\Delta\{abs(.)\}'</span>,<span class="keyword">...</span> <span class="string">'\Delta\{atan(.)\}'</span>)title(<span class="string">'error for abs(.) and atan(.)'</span>)</pre><img vspace="5" hspace="5" src="testSineCosine_VS_02.png"> <h2>test multiply<a name="3"></a></h2><pre class="codeinput">x=sin(theta);t_mult=x.*y;mult=x_mult;figure(3)subplot(211)plot(theta,t_mult,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)hold <span class="string">on</span>,plot(theta,mult),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'sin\thetacos\theta'</span>)title(<span class="string">'Cordic & multiply'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(212),plot(theta,t_mult-mult,<span class="string">'c'</span>)xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta\{xz\}'</span>)title(<span class="string">'error for multiply'</span>)</pre><img vspace="5" hspace="5" src="testSineCosine_VS_03.png"> <h2>test devision<a name="4"></a></h2><pre class="codeinput">t_dev=y./x;dev=x_dev;figure(4)subplot(221)plot(theta,t_dev,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)hold <span class="string">on</span>,plot(theta,dev,<span class="string">'k'</span>),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'cos\theta/sin\theta'</span>)axis([0 .6 0 65]),title(<span class="string">'Cordic ? devision'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(222)plot(theta,t_dev,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)hold <span class="string">on</span>,plot(theta,dev,<span class="string">'k'</span>),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'cos\theta/sin\theta'</span>)xlim([.6 1.6]),title(<span class="string">'Cordic ? devision'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(223),plot(theta,t_dev-dev,<span class="string">'c'</span>)xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta'</span>)xlim([0 .6]),title(<span class="string">'error for devision'</span>)subplot(224),plot(theta,t_dev-dev,<span class="string">'c'</span>)xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta\{y/x\}'</span>)xlim([.6 1.6]),title(<span class="string">'error for devision'</span>)<span class="comment">% ATTENTION, when theta<0.3 the results overflows</span></pre><img vspace="5" hspace="5" src="testSineCosine_VS_04.png"> <h2>test sinh/cosh<a name="5"></a></h2><pre class="codeinput">sinhyp=x_sinh;<span class="comment">% datas provided by VS</span>coshyp=x_cosh;t_cosh=cosh(theta);<span class="comment">% true values</span>t_sinh=sinh(theta);figure(4)subplot(221),hold <span class="string">on</span> <span class="comment">% contrast diagram</span>plot(theta,t_cosh,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'y'</span>)plot(theta,coshyp,<span class="string">'b'</span>)xlim([0 1.6]),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'cosh\theta'</span>)title(<span class="string">'Cordic & cosh\theta'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(222),hold <span class="string">on</span>plot(theta,t_sinh,<span class="string">'LineWidth'</span>,3,<span class="string">'Color'</span>,<span class="string">'g'</span>)plot(theta,sinhyp,<span class="string">'k'</span>)xlim([0 1.6]),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'sinh\theta'</span>)title(<span class="string">'Cordic & sinh\theta'</span>)legend(<span class="string">'truth'</span>,<span class="string">'cordic'</span>)subplot(2,2,3),plot(theta,t_cosh-coshyp,<span class="string">'m'</span>)<span class="comment">% difference</span>hold <span class="string">on</span>,plot(theta,t_sinh-sinhyp,<span class="string">'c'</span>),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta\{sinh\theta/cosh\theta\}'</span>)legend(<span class="string">'\Delta\{cosh\theta\}'</span>,<span class="string">'\Delta\{sinh\theta\}'</span>)title(<span class="string">'error for sinh(.)/cosh(.)'</span>),xlim([0 1])<span class="comment">% ATTEMTION when theta within 1 of 1.5 sinh overflows</span>subplot(2,2,4),plot(theta,t_cosh-coshyp,<span class="string">'m'</span>)<span class="comment">% difference</span>hold <span class="string">on</span>,plot(theta,t_sinh-sinhyp,<span class="string">'c'</span>),hold <span class="string">off</span>xlabel(<span class="string">'\theta'</span>),ylabel(<span class="string">'\Delta\{sinh\theta/cosh\theta\}'</span>)legend(<span class="string">'\Delta\{cosh\theta\}'</span>,<span class="string">'\Delta\{sinh\theta\}'</span>)title(<span class="string">'error for sinh(.)/cosh(.)'</span>)xlim([1 1.6])<span class="comment">% ATTENTION errors in different theta domain</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -