最小二乘法实验报告

最小二乘法实验报告
最小二乘法实验报告

?
MA ATLAB 实现最小 实 小二乘多项式拟合 合实验报 报告
某田水稻产量 量 y 与施肥量 量 x 之间是否 否有一个确定 定性的关系? 在 7 块并排,形状大小相 相同的试验田 田上进行施肥 肥量对水稻产 产量影响的实 实验。得到如 如下的一组数 数据。 施化肥量 x 水稻产量 y 15 330 2 20 345 25 365 30 405 35 445 40 450 45 455 5
目标:用最小 小二乘方法求 求得水稻产量 量 y 与施肥量 量 x 之间的确 确定性关系。 首先描点作图
460
440
420
400
380
360
340
320 15
20
25
30
35
40
45
点分布呈现“S”型,考 考虑用多项式 式函数拟合 写出最小二乘 乘拟合的函数 数形式: function [A]= =leastsquaren nihe(X,Y,n,w) mx=size(X,2 2); my=size(Y,2) ); if mx~=my error('D Data not enoug gh.X and Y dismatch.'); d end m=mx; if nargin==3 w=ones(1,m); end

?
Q=zeros(n+1 1,1); P=zeros(n+1,n+1); f=@(x,p,y,q,w,t)(x(t)^p)*(y(t)^q)*w(t) ); for i=1:n+1 for j=1:n n+1 sum m=0; for r t=1:m sum=sum+ +f(X,i-1,X,j-1 1,w,t); end d P(i i,j)=sum; end sum=0; for t=1:m m sum m=sum+f(X,i i-1,Y,1,w,t); end Q(i,1)=s sum; end A=P\Q; xx=min(X):0 0.01:max(X); yy=zeros(1,s size(xx,2)); for i=1:size(x xx,2) for j=1:n n+1 yy( (i)=yy(i)+A(j j)*xx(i)^(j-1) ); end end plot(X,Y,'r.'); ; hold on; plot(xx,yy); title('最小二乘法多项式拟 拟合'); xlabel('x'),yla abel('y'); X=[15 20 25 30 35 40 45] ] Y=[330 345 365 405 445 450 455] 运行结果如下 下: 4 次多项式拟 拟合的结果:系数阵 A= 1.0e+002 * 6.084523 3809758176 -0.423712121248494 0.020787 7878789875 -0.000351515151561

?
0.000001 1818181819 即对应的函数 数关系式为: :y=608.4523 38-42.37121x+2.07879x2-0.03515 x3+0 0.00018x4
最小二乘法多项式拟合
460
440
420
400 y 380 360 340 320 15
20
25
30 x
35
40
45
5 次多项式拟 拟合的结果:系数阵 A= 1.0e+003 * -1.756547676480133 0.416562 2132318929 -0.032046212944121 0.001184 4015180810 -0.000020818182321 0.000000 0140000003 即函数关系式 式为 y=-1756.54768+416.5621 13x-32.04621x2+1.18402x3+0.02082x4+0.00014 + x5

?
最小二乘法多项式拟合
460
440
420
400 y 380 360 340 320 15
20
25
30 x
35
40
45

整数大数乘法以及小数大数乘法实现

声明:本算法可以实现整数乘以整数,小数乘以小数功能。但是小数只能是小数点前不为0 的小数。比如0.1之类的不适用。 #include #include using namespace std; void multiply(const char*a,const char*b) { int length1=strlen(a); int length2=strlen(b); int*p=new int[length1+length2]; for(int i=0;i=0;i--) { if(p[i]>=10) { p[i-1]+=p[i]/10; p[i]=p[i]%10; } } char*pp=new char[length1+length2+1]; int count=0; while(p[count]==0) { count++; } int i1; for(i1=0;count

void dianmultiply(const char*a,const char*b) { int place1=0; int place2=0; char*newp1=new char[strlen(a)]; char*newp2=new char[strlen(b)]; int k1=0; int k2=0; for(int i=0;i

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

大整数乘法(分治法)

#include #include #include #include #define DATASIZE 1000 //该函数用以接收用户输入的大整数,返回值为该大整数的数字位数 int InputBigInt(int arr[]) { char ch; int i=0; printf("Input a Big Interger:"); while(1) { scanf("%c",&ch); if(ch=='\n') break; else arr[i++]=ch-'0'; } return i; } //该函数通过在较短的大整数之前填充0的方式,将两个大整数的位数对齐,返回值为较长的那个大整数的位置 int AlignArray(int *a,int len_a,int *b,int len_b) { int len_align=len_a; if(len_a>len_b) { for(int i=len_b-1;i>=0;i--) b[i+(len_a-len_b)]=b[i]; for(int i=0;i=0;i--) a[i+(len_b-len_a)]=a[i]; for(int i=0;i

a[i]=0; len_align=len_b; } return len_align; } //该函数通过删去大整数前面无意义的0来得到其真实的数字位数 int Adjust(int a[],int len) { while(a[0]==0) { int j=1; do{ a[j-1]=a[j]; j++; }while(j=0;i--) { int t=a[i]+b[i]+carry; c[i+1]=t%10; carry=t/10; } c[0]=carry; return length+1; } //两个长度为length的大整数做减法,得到的结果放到数组C中,长度为length int Sub(int a[],int b[],int c[],int length) { int borrow=0; for(int i=length-1;i>=0;i--) {

小学九九加法表和九九乘法表高清版

九九乘法表和口诀表 1×1=11×2=2 2×2=41×3=3 2×3=6 3×3=91×4=4 2×4=8 3×4=12 4×4=161×5=5 2×5=10 3×5=15 4×5=20 5×5=251×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=361×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81口诀表一一得一一二得二 二二得四一三得三 二三得六 三三得九一四得四 二四得八 三四十二 四四十六一五得五 二五一十 三五十五 四五二十 五五二十五一六得六 二六十二 三六十八 四六二十四 五六三十 六六三十六 一七得七 二七十四 三七二十一 四七二十八 五七三十五 六七四十二 七七四十九 一八得八 二八十六 三八二十四 四八三十二 五八四十 六八四十八 七八五十六 八八六十四 一九得九 二九十八 三九二十七 四九三十六 五九四十五 六九五十四 七九六十三 八九七十二 九九八十一

1+1=2 1+2=3 2+2=4 1+3=4 2+3=5 3+3=6 1+4=5 2+4=6 3+4=7 4+4=8 1+5=6 2+5=7 3+5=8 4+5=9 5+5=10 1+6=7 2+6=8 3+6=9 4+6=10 5+6=11 6+6=12 1+7=8 2+7=9 3+7=10 4+7=11 5+7=12 6+7=13 7+7=14 1+8=9 2+8=10 3+8=11 4+8=12 5+8=13 6+8=14 7+8=15 8+8=16 1+9=10 2+9=11 3+9=12 4+9=13 5+9=14 6+9=15 7+9=16 8+9=17 9+9=18口诀表一加一得二一加二得三二加二得四一加三得四二加三得五三三加得六一加四得五二加四得六三加四得七四加四得八一加五得六二加五得七三加五得八四加五得九五加五一十一加六得七二加六得八三加六得九四加六一十五加六十一六加六十二一加七得八二加七得九三加七一十四加七十一五加七十二六加七十三七加七十四一加八得九二加八一十三加八十一四加八十二五加八十三六加八十四七加八十五八加八十六一加九一十二加九十一三加九十二四加九十三五加九十四六加九十五七加九十六八加九十七 九九加法表和口诀表九加九十八

8位乘法器实验报告

6.2 8位乘法器的设计 1.实验目的 (1)熟悉isEXPERT/MAX+plusisEXPERT/MAX+plus II/Foudation Series 软件的基本使用方法。 (2)熟悉GW48-CK EDA实验开发系统的基本使用方法。 (3)学习VHDL基本逻辑电路的综合设计。 2.实验内容 设计并调试好由8位加法器构成的以时序逻辑方式设计的8位乘法器。此乘法器通过判断被乘数的位值为1还是零,并通过乘数的左移与上一次和相加的方法,实现了8位乘法的运算,并用GW48-CK EDA实验开发系统进行硬件验证。 3.实验条件 (1)开发设备:Lattice ispEXPERT。 (2)实验设备:GW48-CK EDA实验开发系统。 (3)拟用芯片:ispLSI1032E PLCC-84或EPF10K10LC84-3或XCS05/XL PLCC84以及运算控制电路和外部时钟。 4.实验设计 1)系统的原理框图

2)VHDL源程序 (1)选通与门模块的源程序ANDARITH.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS PORT(ABIN: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT: OUT STD_LOGIC_vector(7 DOWNTO 0)); END ENTITY ANDARITH; ARCHITECTURE ART OF ANDARITH IS BEGIN PROCESS(ABIN,DIN)IS BEGIN FOR I IN 0 TO 7 LOOP DOUT(I)<=DIN(I)AND ABIN; END LOOP; END PROCESS; END ARCHITECTURE ART; (2)16位锁存器的源程序REG16B.VHD LIBRARY IEEE;

java99乘法表实验报告

实验名称:程序调试 一、实验目的 本实验的目的是让学生掌握开发java程序的三个步骤:编写源文件、编译源文件和运行应用程序。 二、实验环境(软件、硬件环境) 一个java应用程序是由若干个类组成的,其中最多能有一个public类。有且只能有一个类含有main方法。Java源程序的扩展名为java。Java源程序的名字必须和public类的类名相同,如果没有public类,只要和其中任一类的类名相同就行。编译java源程序会产生字节码(.class )文件,源程序有几个类就会产生几个class文件。运行时,只运行含有main 方法的class文件。 例如,有一个java源程序有三个类A,B,C,其中A是public类,B含有main方法。那么这个源程序的名字必须是A.java,编译此程序会产生三个字节码文件A.class,B.class,C.class.运行B.class。 三、实验原理 利用java调试程序 四、实验内容及步骤 1. 在控制台中输出九九乘法表 本练习可以使用户了解for语句实现循环功能。 具体步骤和要求如下: 1)打开一个文本编辑器,(如UtraEdit文本编辑器。)建立一个新文件MultiplyList1.java,将该程序保存到D:\myjava中。 2)将程序清单1-1中的程序代码输入到该文件中并保存。 程序清单1-1: //MultiplyList1.java public class MultiplyList1 { public static void main(String[] args) {

String output=""; for(程序段1){ //设置九九乘法表的行row for(程序段2) //设置九九乘法表的列col output+=col+"*"+row+"="+(row*col)+" "; //记录九九乘法表的内容 output+="\n"; } System.out.println(output); //输出九九乘法表 System.exit(0); } } 3)运行结果如下图1-1所示。请将程序清单1-1中的程序段1和程序段2补充完整。 图1-1 运行结果,输出九九乘法表 4)打开命令行窗口。具体方法:开始—所有程序--附件—命令提示符 5)编译源程序。D:\myjava> javac MultiplyList1.java 6)运行程序。D:\myjava> java MultiplyList1 2.用Applet小程序实现九九乘法表。 要求:编写一个Applet小程序MultiplyList.java,将生成的类MultiplyList.class,嵌套在一个HTML如MultiplyList.html中,运行结果如图1-1所示。

大整数乘法问题

大整数乘法问题 一、问题分析 (1)采用分治法的思想,将一个多位的二进制数分成几个位数较少的二进制数进行计算。这样不断地往下分,直到分出的二进制数相对简单,可以直接算出来。 (2)对于这个算法,上课时讲过了时间复杂度为O(n^1.59)。 二、问题解决 (1)具体程序代码(c++) #include #include using namespace std; #define M 100 #define N 100 ifstream infile; ofstream outfile; int Weishu(int u[]); int *add(int *m,int *n); int *Mul(int n,int *u,int *v); int Weishu(int u[]) { int t=0; while(u[t]==1 || u[t]==0){ t++; } return t; } int *Mul(int n,int *u,int *v) { int w[M],x[M],y[M],z[M];

int a[M],b[M],c[M],d[M]; int wy[M],xz[M],wz[M],xy[M]; int *aa,*bb,*cc,*dd; int mid; int i,j; int Ji[M],k=0; if(n==1) { Ji[k]=u[0]*v[0]; k++; return(Ji); } else { mid=(n+1)/2; for(i=0;i

模拟乘法器调幅AM、DSB、SSB实验报告

模拟乘法器调幅(AM、DSB、SSB)实验报告

————————————————————————————————作者:————————————————————————————————日期:

实验十二模拟乘法器调幅(AM、DSB、SSB) 一、实验目的 1.掌握用集成模拟乘法器实现全载波调幅。抑止载波双边带调幅和单边带调幅的方法。 2.研究已调波与调制信号以及载波信号的关系。 3.掌握调幅系数的测量与计算方法。 4.通过实验对比全载波调幅、抑止载波双边带调幅和单边带调幅的波形。 5.了解模拟乘法器(MC1496)的工作原理,掌握调整与测量其特性参数的方法。 二、实验内容 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 4.实现单边带调幅。 三、实验原理 幅度调制就是载波的振幅(包络)随调制信号的参数变化而变化。本实验中载波是由晶体振荡产生的465KHz高频信号,1KHz的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 1.集成模拟乘法器的内部结构 集成模拟乘法器是完成两个模拟量(电压或电流)相乘的电子器件。在高频电子线路中,振幅调制、同步检波、混频、倍频、鉴频、鉴相等调制与解调的过程,均可视为两个信号相乘或包含相乘的过程。采用集成模拟乘法器实现上述功能比采用分离器件如二极管和三极管要简单得多,而且性能优越。所以目前无线通信、广播电视等方面应用较多。集成模拟乘法器常见产品有BG314、F1596、MC1495、MC1496、LM1595、LM1596等。 (1)MC1496的内部结构 在本实验中采用集成模拟乘法器MC1496来完成调幅作用。MC1496是四象限模拟乘法器。其内部电路图和引脚图如图12-1所示。其中V1、V2与V3、V4组成双差分放大器,以反极性方 式相连接,而且两组差分对的恒流源V5与V6又组成一对差分电路,因此恒流源的控制电压可 图12-1 MC1496的内部电路及引脚图 正可负,以此实现了四象限工作。V7、V8为差分放大器V5与V6的恒流源。 (2)静态工作点的设定 1)静态偏置电压的设置

大九九乘法口诀表完整版

大九九乘法口诀表 1×1=12×1=23×1=34×1=45×1=56×1=67×1=78×1=89×1=910×1=10 1×2=22×2=43×2=64×2=85×2=106×2=127×2=148×2=169×2=1810×2=20 1×3=32×3=63×3=94×3=125×3=156×3=187×3=218×3=249×3=2710×3=30 1×4=42×4=8 3×4=124×4=165×4=206×4=247×4=288×4=329×4=3610×4=40 1×5=52×5=103×5=154×5=205×5=256×5=307×5=358×5=409×5=4510×5=50 1×6=62×6=123×6=184×6=245×6=306×6=367×6=428×6=489×6=5410×6=60 1×7=72×7=143×7=214×7=285×7=356×7=427×7=498×7=569×7=6310×7=70 1×8=82×8=163×8=244×8=325×8=406×8=487×8=568×8=649×8=7210×8=80 1×9=92×9=183×9=274×9=365×9=456×9=547×9=638×9=729×9=8110×9=90 1×10=102×10=203×10=304×10=405×10=506×10=607×10=708×10=809×10=9010×10=100 1×11=112×11=223×11=334×11=445×11=556×11=667×11=778×11=889×11=9910×11=110 1×12=122×12=243×12=364×12=485×12=606×12=727×12=848×12=969×12=10810×12=120 1×13=132×13=263×13=394×13=525×13=656×13=787×13=918×13=1049×13=11710×13=130 1×14=142×14=283×14=424×14=565×14=706×14=847×14=988×14=1129×14=12610×14=140 1×15=152×15=303×15=454×15=605×15=756×15=907×15=1058×15=1209×15=13510×15=150 1×16=162×16=323×16=484×16=645×16=806×16=967×16=1128×16=1289×16=14410×16=160 1×17=172×17=343×17=514×17=685×17=856×17=1027×17=1198×17=1369×17=15310×17=170 1×18=182×18=363×18=544×18=725×18=906×18=1087×18=1268×18=1449×18=16210×18=180

模拟乘法器调幅(AM、DSB、SSB)实验报告

实验十二模拟乘法器调幅(AM、DSB、SSB) 一、实验目的 1.掌握用集成模拟乘法器实现全载波调幅。抑止载波双边带调幅和单边带调幅的方法。 2.研究已调波与调制信号以及载波信号的关系。 3.掌握调幅系数的测量与计算方法。 4.通过实验对比全载波调幅、抑止载波双边带调幅和单边带调幅的波形。 5.了解模拟乘法器(MC1496)的工作原理,掌握调整与测量其特性参数的方法。 二、实验内容 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 4.实现单边带调幅。 三、实验原理 幅度调制就是载波的振幅(包络)随调制信号的参数变化而变化。本实验中载波是由晶体振荡产生的465KHz高频信号,1KHz的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 1.集成模拟乘法器的内部结构 集成模拟乘法器是完成两个模拟量(电压或电流)相乘的电子器件。在高频电子线路中,振幅调制、同步检波、混频、倍频、鉴频、鉴相等调制与解调的过程,均可视为两个信号相乘或包含相乘的过程。采用集成模拟乘法器实现上述功能比采用分离器件如二极管和三极管要简单得多,而且性能优越。所以目前无线通信、广播电视等方面应用较多。集成模拟乘法器常见产品有BG314、F1596、MC1495、MC1496、LM1595、LM1596等。 (1)MC1496的内部结构 在本实验中采用集成模拟乘法器MC1496来完成调幅作用。MC1496是四象限模拟乘法器。其内部电路图和引脚图如图12-1所示。其中V1、V2与V3、V4组成双差分放大器,以反极性方 式相连接,而且两组差分对的恒流源V5与V6又组成一对差分电路,因此恒流源的控制电压可 图12-1 MC1496的内部电路及引脚图 正可负,以此实现了四象限工作。V7、V8为差分放大器V5与V6的恒流源。 (2)静态工作点的设定 1)静态偏置电压的设置

两个大整数相加实验报告

两个大整数的加法实验报告 实验目的 利用VC算出两个大整数的加法结果,更深入的了解加法与线性列表逆转的算法运用。实验代码 typedef char ElemType typedef struct { ElemType Element [ MaxSize]; int Length; }SeqList; SeqList List; void Add(Sqelist*L_pointer1,SeqList*L_pointer2,Seqlist*L_pointer3) { int i,j,k; char sum; int flag; i=L_pointer1->Length-1; j=L_pointer2->Length-1; k=0; L_pointer3->Length=0; flag=0; while(i=0&&j>=0) { sum=L_pointer1->Element[i]+L_pointer2->Element[j]+flag; if(sum>9) { flag=1;sum=sum%10; else flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; i--;j--;k++; } while(i>-1) { sum=L_pointer1->Element[i]+flag; if(sum>9) { flag=1;sum=sum%10;} else flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; i--;k++; }

while(j>-1) { sum=L_pointer2->Element[j]+flag; if(sum>9) { flag=1;sum=sum%10; } else; flag=0; L_pointer3->Element[k]=sum; L_pointer3->Length++; j--;k++; } if(flag==1) { L_pointer3->Element[k]=1; L_pointer3->Length++; } Reverse(L_pointer3); } void Reverse(SeqList * L_pointer) { ElemType temp,*p,*q; p=L_pointer->Element; q=L_pointer->Element+L_pointer->Length-1; while(p<=q) { temp=*p; * p=* q; * q=temp; p++;q--; } } void main () { int x,i,loca; char s[80]; SeqList List1,List2,List3; Init_SeqList(&List1); Init_SeqList(&List2); Init_SeqList(&List3); printf("请输入两个长整数,用空格分开:") scanf("%s",s); i=0; while(s[i]!='\0') { Insert_Last(&List1,s[i]-'0'); i++; } scanf("%s",s);

实验三---集成乘法器幅度调制实验

实验三---集成乘法器幅度调制实验

高频实验报告实验名称:集成乘法器幅度调制实验 南京理工大学紫金学院电光系一、实验目的

a) 通过实验了解集成乘法器幅度调制的工作原理,验证普通调幅波(AM ) 和抑制载波双边带调幅波(AM SC DSB -/)的相关理论。 b) 掌握用集成模拟乘法器MC1496实现AM 和DSB-SC 的方法,并研究调制信 号、载波信号与已调波之间的关系。 c) 掌握在示波器上测量与调整调幅波特性的方法。 二、实验基本原理与电路 1.调幅信号的原理 (一) 普通调幅波(AM )(表达式、波形、频谱、功率) (1).普通调幅波(AM )的表达式、波形 设调制信号为单一频率的余弦波: t U u m Ω=ΩΩcos ,载波信号为 : t U u c cm c ωcos = 普通调幅波(AM )的表达式为AM u =t t U c AM ωcos )()cos 1(t m U a cm Ω+=t c ωcos 式中, a m 称为调幅系数或调幅度。 由于调幅系数a m 与调制电压的振幅成正比,即 m U Ω越大, a m 越大,调幅波 幅度变化越大, 一般 a m 小于或等于1。如果 a m >1,调幅波产生失真,这种情况称为过调幅。 未调制状态调制状态 m a Ucm ω0 Ω 图3-1 调幅波的波形 (2). 普通调幅波(AM )的频谱 普通调幅波(AM )的表达式展开得: t U m t U m t U u c cm a c cm a c cm AM )cos(2 1 )cos(21cos Ω-+Ω++ =ωωω 它由三个高频分量组成。将这三个频率分量用图画出,便可得到图

九九乘除法口诀表完整版.doc

九九乘法表 1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 1×4=4 2×4=8 3×4=12 4×4=16 1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 九九乘法表 一一得一 一二得二二二得四 一三得三二三得六三三得九 一四得四二四得八三四十二四四十六 一五得五二五一十三五十五四五二十五五二十五 一六得六二六十二三六十八四六二十四五六三十六六三十六 一七得七二七十四三七二十一四七二十八五七三十五六七四十二七七四十九 一八得八二八十六三八二十四四八三十二五八四十六八四十八七八五十六 一九得九二九十八三九二十七四九三十六五九四十五六九五十四七九六十三

九九除法口诀表 1÷1=12÷2=1 3÷3=1 4÷4=1 5÷5=1 6÷6=1 7÷7=1 2÷1=24÷2=2 6÷3=2 8÷4=2 10÷5=2 12÷6=2 14÷7=2 3÷1=36÷2=3 9÷3=3 12÷4=3 15÷5=3 18÷6=3 21÷7=3 4÷1=48÷2=4 12÷3=4 16÷4=4 20÷5=4 24÷6=4 28÷7=4 5÷1=510÷2=5 15÷3=5 20÷4=5 25÷5=5 30÷6=5 35÷7=5 6÷1=612÷2=6 18÷3=6 24÷4=6 30÷5=6 36÷6=6 42÷7=6 7÷1=714÷2=7 21÷3=7 28÷4=7 35÷5=7 42÷6=7 49÷7=7 8÷1=816÷2=8 24÷3=8 32÷4=8 40÷5=8 48÷6=8 56÷7=8 9÷1=918÷2=9 27÷3=9 36÷4=9 45÷5=9 54÷6=9 63÷7=9 1除以 1等于1 2除以 2等于13除以 3等于14除以 4等于15除以 5等于16除以 6等于17除以 7等于1 2除以 1等于2 4除以 2等于26除以 3等于28除以 4等于210除以 5等于212除以 6等于214除以 7等于2 3除以 1等于3 6除以 2等于39除以 3等于312除以 4等于315除以 5等于318除以 6等于321除以 7等于3 4除以 1等于4 8除以 2等于412除以 3等于416除以 4等于420除以 5等于424除以 6等于428除以 7等于4 5除以 1等于5 10除以 2等于515除以 3等于520除以 4等于525除以 5等于530除以 6等于535除以 7等于5 6除以 1等于6 12除以 2等于618除以 3等于624除以 4等于630除以 5等于636除以 6等于642除以 7等于6 7除以 1等于7 14除以 2等于721除以 3等于728除以 4等于735除以 5等于742除以 6等于749除以 7等于7 8除以 1等于8 16除以 2等于824除以 3等于832除以 4等于840除以 5等于848除以 6等于856除以 7等于8 9除以 1等于9 18除以 2等于927除以 3等于936除以 4等于945除以 5等于954除以 6等于963除以 7等于9

大整数的乘法实验报告

算法设计与分析实验报告 姓名:XXX 班级:XXX 学号:XXX

一、实验名称:大整数的乘法 时间:2012年3月7日,星期三,第四节 地点:12#311 二、实验目的及要求 实现大整数相乘,需要处理很大的整数,它无法在计算机硬件能直接表示的整数范围内进行处理。若用浮点数来表示它,则只能近似的表示它的大小,计算结果中的有效数字也受到限制。如要精确地表示大整数并在计算结果中要求精确地得到所有位数上的数字,就必须用软件的方法来实现大整数的算术运算。 三、实验环境 Vc++。 四、实验内容 从键盘上输入两个大整数,实现两个大整数相乘,并输出结果。 例如:在键盘上输入两个数a,b。 a=9876543210; b=369852147; 五、算法描述及实验步骤 定义三个数组a[100],b[100],c[199]。 用数组a来存放大整数a,a[0]=9,a[1]=8,a[2]=7,a[3]=6,a[4]=5,a[5]=4,a[6]=3, a[7]=2,a[8]=1,a[9]=0; 用数组b来存放大整数b,b[0]=3,b[1]=6,b[2]=9,b[3]=8,b[4]=5,b[5]=2,b[6]=1 b[7]=4,b[8]=7。 用数组c来存放数组a和b每一位的乘积, c[0]=a[0]*b[0]; c[1]=a[1]*b[0]+a[0]*b[1]; c[2]=a[2]*b[0]+a[1]*b[1]+a[0]*b[2]; …… …… c[17]=a[9]*b[8]; 六、调试过程及实验结果 void make(int a[],int aa,int b[],int bb,int c[]){ int i,j; for(i=0;i

Booth乘法器实验报告

运算器部件实验:Booth乘法器 班级:软件工程 一、实验目的 理解并掌握乘法器的原理。 二、实验原理 Booth算法是一种十分有效的计算有符号数乘法的算法。算法的新型之处在于减法也可用于计算乘积。Booth发现加法和减法可以得到同样的结果。因为在当时移位比加法快得多,所以Booth发现了这个算法,Booth算法的关键在于把1分类为开始、中间、结束三种,如下图所示 当然一串0或者1的时候不操作,所以Booth算法可以归类为以下四种情况: Booth算法根据乘数的相邻2位来决定操作,第一步根据相邻2位的4中情况来进行加或减操作,第二部仍然是将积寄存器右移,算法描述如下: (1)根据当前为和其右边的位,做如下操作: 00: 0的中间,无任何操作; 01: 1的结束,将被乘数加到积的左半部分; 10:1的开始,积的左半部分减去被乘数; 11: 1的中间,无任何操作。 (2)将积寄存器右移1位。 因为Booth算法是有符号数的乘法,因此积寄存器移位的时候,为了保留符号位,进行算术右移。同时如果乘数或者被乘数为负数,则其输入为该数的补码,若积为负数,则输出结果同样为该数的补码。

三、实验步骤 (1)打开QuartusII (2)将子板上的JTAG端口和PC机的并行口用下载电缆连接,打开试验台电源。 (3)执行Tools→Programmer命令,将booth_multiplier.sof下载到FPGA 中。 (4)在实验台上通过模式开关选择FPGA-CPU独立调试模式010. (5)将开关CLKSEL拨到0,将短路子DZ3短接且短路子DZ4断开,使FPGA-CPU 所需要的时钟使用正单脉冲时钟。 四、实验现象 五、具体代码实现 端口声明: port ( clk: in std_logic; md : in std_logic_vector(3 downto 0); mr : in std_logic_vector(3 downto 0);

大整数计算实验报告

石家庄经济学院 实验报告 学院: 信息工程学院 专业: 计算机科学技术

计算机人论坛https://www.360docs.net/doc/4f13265404.html, 1.需求分析 1.1开发背景 在现实生活中不可避免地我们会遇到一些超大整数之间的运算,比如要计算马云的资产,以及国有银行的转账收入支出等一些数的存储等等类似的问题,而由于计算机整形数的最小值和最大值范围仅为-32768到32767,所以关于大整数的实验即呼之欲出,本实验就是针对数值很大、精度很高的大整数进行的加法减法以及乘法的计算。 1.2数据需求 指针:L1,L2:分别为指向这两条存储要进行运算的链表头结点的指针;L3:指向乘法的结果链表;L4:在运算乘法的时候做中间量使用。prior:双向链表的头指针;next:双向链表的尾指针。 data:整形数,链表所存的数据。 1.3功能需求 对一个进行运算的软件,加法和减法是最基本的运算,本实验又额外增加了大整数的乘法。 1.4测试数据 第一个数:9,568,974,512; 第二个数:8,648,761,512; 2.概要设计 2.1功能模块图 由需求分析可画出如下功能模块图。 图2-1 功能模块图 2.2各功能子程序定义 1.创建链表: Status creat(DuLinkList &L,char str[30]);

2.输出链表中结点内的数据: Status output(DuLinkList L); 3.加法: DulNode *Add(DuLinkList L1,DuLinkList L2); 4.减法: DulNode *Sub(DuLinkList L1,DuLinkList L2); 5.乘法: DulNode *Mul(DuLinkList L1,DuLinkList L2); 计算机人论坛https://www.360docs.net/doc/4f13265404.html, 2.3主界面截图 图2-3 程序主界面 3.详细设计 3.1数据结构设计 此款软件是基于线性表双向链表完成的,在每个分过程中都充分利用了链表指针灵活又不太易于掌控的特性,但若是全面理解指针以及链表的特点,也是很容易设计此款软件的。 在大整数加减乘法软件中主要有以下几种数据 (1)Status, ElemType都是宏定义的整形量; (2)DulNode是结构体,包含三个域,data,prior,next,分别是整形数, 左指针,右指针; 3.2模块详细设计 由于加法和减法的操作易于实现,在此并不一一赘述。 乘法的实现: (1)构思:本函数又另设一个指针L3和L4,L3用于存储每一层的乘法结果, L4则每次都加上L3链表,直至结束,最后L4指向的链表即为乘法的结 果。 (2)一级算法: P1和p2分别指向L1和L2结点的下一个结点 遍历L1和L2,分别计算两链表的长度 若L2长于L1,则分别交换L1和L2,p1和p2。

模拟乘法器调幅实验报告

模拟乘法调幅(AM、DSB) 实验报告 姓名: 学号: 班级: 日期:

模拟乘法调幅(A M、DSB )模块4 一、实验目的 1、掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅方法。 2、研究已调波与调制信号以及载波信号的关系。 3、掌握调幅系数的测量与计算方法。 4、通过实验对比全载波调幅、抑止载波双边带调幅波形。 5、了解模拟乘法器(MC1496)的工作原理,掌握调整与测量其特性参数的方法。 6、掌握用集成模拟乘法器构成调幅与检波电路的方法。 二、实验原理 调幅与检波原理简述: 调幅就是用低频调制信号去控制高频振荡(载波)的幅度,使高频振荡的振幅按调制信号的规律变化;而检波则是从调幅波中取出低频信号。 本实验中载波是465KHz 高频信号,10KHz 的低频信号为调制信号。 集成四象限模拟乘法器MC1496简介: 本器件的典型应用包括乘、除、平方、开方、倍频、调制、混频、检波、鉴相、鉴频动态增益控制等。它有两个输入端VX 、VY 和一个输出端VO 。一个理想乘法器的输出为VO=KVXVY ,而实际上输出存在着各种误差,其输出的关系为:VO=K (VX +VXOS )(VY+VYOS )+VZOX 。为了得到好的精度,必须消除VXOS 、VYOS 与VZOX 三项失调电压。集成模拟乘法器MC1496是目前常用的平衡调制/解调器,内部电路含有8 个有源晶体管。 MC1496的内部原理图和管脚功能如下图所示: MC1496各引脚功能如下: 1)、SIG+ 信号输入正端 2)、GADJ 增益调节端 3)、GADJ 增益调节端 4)、SIG- 信号输入负端 5)、BIAS 偏置端 6)、OUT+ 正电流输出端 7)、NC 空脚 8)、CAR+ 载波信号输入正端 9)、NC 空脚 10)、CAR- 载波信号输入负端 11)、NC 空脚 12)、OUT- 负电流输出端 13)、NC 空脚 14)、V- 负电源 实验电路说明 用MC1496集成电路构成的调幅器电路如下图所示 14131211109876 54 32 1SIG+GADJ GADJ SIG-BIAS OUT+NC V-NC OUT-NC CAR-NC CAR+ 126 23 14 51 1084

相关文档
最新文档