⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsinecosine_vs.html

📁 这个包里面包含了对Cordic算法的基本函数实现。通过Dformat类来控制系统的数据格式
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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&lt;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 &amp; 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 &amp; 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 + -