当前位置:文档之家› 西电MATLAB大作业矩阵计算器

西电MATLAB大作业矩阵计算器

西电MATLAB大作业矩阵计算器
西电MATLAB大作业矩阵计算器

《MATLAB程序设计》

程序设计报告

设计题目:简易矩阵计算器

班级:021231

姓名:

学号:

目录

1.设计目的 (2)

2.题目分析 (2)

3.总体设计 (2)

4.结果分析 (3)

5.程序代码 (13)

6.总结 (25)

1、设计目的

运用MATLAB实现MATLAB的GUI程序设计。

2、题目分析

2.1课程设计的基本要求:

A. 熟悉和掌握MATLAB 程序设计方法。

B. 掌握MATLAB GUI 程序设计。

2.2课程设计的内容

要求利用MATLAB GUI设计实现一个矩阵计算器程序,要求实现:

具有友好的用户图形界面,实现矩阵的加、减、乘、左除、右除、转置等运算。

2.3题目分析

本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,显示框用到文本编辑框(edit text),说明框用到静态文本框(Static text),数字以及运算等按钮用到命令按钮(push button)。然后在通过各个按钮的回调函数,实现简单的矩阵计算功能。

3、总体设计

首先用MATLAB GUI功能,在绘制静态文本框和文本编辑框,以及21个命令按钮,调整好各控件大小、颜色,整体布局如图所示:

然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。

4、结果分析

(1)A+B

(2)A-B

(3)A*B

(4)A/LB

(5)A*.B

(6)A./B

(7)A’

(8)A/R

(9)det(A)

(10)inv(A)

(11)A.’

(13)Rank(A)

(15)A^3

(16)eig(A)

(17)Sqrt(A)

(18)Norm(A)

(19)LU(A)

(20)rref(A)

经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。5、程序代码

function varargout = untitled01(varargin)

% UNTITLED01 Matrix_B-file for untitled01.fig

% UNTITLED01, by itself, creates a new UNTITLED01 or raises the existing

% singleton*.

%

% H = UNTITLED01 returns the handle to a new UNTITLED01 or the handle to

% the existing singleton*.

%

% UNTITLED01('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in UNTITLED01.Matrix_B with the given input arguments. %

% UNTITLED01('Property','Value',...) creates a new UNTITLED01 or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before untitled01_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to untitled01_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above text to modify the response to help untitled01

% Last Modified by GUIDE v2.5 04-May-2014 19:00:38

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @untitled01_OpeningFcn, ...

'gui_OutputFcn', @untitled01_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before untitled01 is made visible.

function untitled01_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to untitled01 (see VARARGIN)

% Choose default command line output for untitled01

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes untitled01 wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = untitled01_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

function Matrix_A_Callback(hObject, eventdata, handles)

% hObject handle to Matrix_A (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of Matrix_A as text

% str2double(get(hObject,'String')) returns contents of Matrix_A as a double

% --- Executes during object creation, after setting all properties.

function Matrix_A_CreateFcn(hObject, eventdata, handles)

% hObject handle to Matrix_A (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function Matrix_B_Callback(hObject, eventdata, handles)

% hObject handle to Matrix_B (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of Matrix_B as text

% str2double(get(hObject,'String')) returns contents of Matrix_B as a double

% --- Executes during object creation, after setting all properties.

function Matrix_B_CreateFcn(hObject, eventdata, handles)

% hObject handle to Matrix_B (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in add.

function add_Callback(hObject, eventdata, handles)

% hObject handle to add (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

[iA jA]=size(A);

[iB jB]=size(B);

if iA ~= iB | jA ~= jB |(iA ~= iB & jA ~= jB) %判断A、B是否满足相加条件 R='error.Matrix dimensions must agree.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = A + B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

end

% --- Executes on button press in subtract.

function subtract_Callback(hObject, eventdata, handles)

% hObject handle to subtract (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

[iA jA]=size(A);

[iB jB]=size(B);

if iA ~= iB | jA ~= jB |(iA ~= iB & jA ~= jB) %判断A、B是否满足相减条件 R='error.Matrix dimensions must agree.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = A - B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

end

% --- Executes on button press in times.

function times_Callback(hObject, eventdata, handles)

% hObject handle to times (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

[iA jA]=size(A);

[iB jB]=size(B);

if jA~=iB %判断A、B是否满足相乘条件 R='error.Inner matrix dimensions must agree.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = A * B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

end

% --- Executes on button press in L_divide.

function L_divide_Callback(hObject, eventdata, handles)

% hObject handle to L_divide (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

[iA jA]=size(A);

[iB jB]=size(B);

if iA~=iB %判断A、B是否满足左除条件 R='error.Matrix dimensions must agree.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = A \ B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

end

% --- Executes on button press in times2.

function times2_Callback(hObject, eventdata, handles)

% hObject handle to times2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%矩阵元素相乘

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

result = A .* B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

% --- Executes on button press in divede2.

function divede2_Callback(hObject, eventdata, handles)

% hObject handle to divede2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%矩阵元素相除

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

result = A ./ B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

% --- Executes on button press in transposition.

function transposition_Callback(hObject, eventdata, handles)

% hObject handle to transposition (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%转置运算

A = eval((get(handles.Matrix_A,'String')));

result = A' ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

% --- Executes on button press in R_divide.

function R_divide_Callback(hObject, eventdata, handles)

% hObject handle to R_divide (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

A = eval((get(handles.Matrix_A,'String')));

B = eval((get(handles.Matrix_B,'String')));

[iA jA]=size(A);

[iB jB]=size(B);

if iA~=iB %判断A、B是否满足右除条件 R='error.Matrix dimensions must agree.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = A / B ;

R = num2str(result);

set(handles.Answer,'String',R)

guidata(hObject, handles);

end

% --- Executes on button press in determinant.

function determinant_Callback(hObject, eventdata, handles)

% hObject handle to determinant (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%求行列式

A = eval((get(handles.Matrix_A,'String')));

[iA jA]=size(A);

if iA ~=jA %判断A是否为方阵 R='error.Matrix must be square.';

set(handles.Answer,'String',R)

guidata(hObject, handles);

else

result = det(A) ;

西电数据挖掘大作业k-means和k-medoids

题 目: 数据挖掘 学 院: 电子工程学院 专 业: 智能科学和技术 学生姓名: ** 学 号: 02115*** k -means 实验报告 一、 waveform 数据 1、 算法描述 1. 从数据集{X n }n?1N 中任意选取k 个赋给初始的聚类中心c 1, c 2, …,

c k; 2.对数据集中的每个样本点x i,计算其和各个聚类中心c j的欧氏 距离并获取其类别标号: label(i)=arg min ||x i?c j||2,i=1,…,N,j=1,…,k 3.按下式重新计算k个聚类中心; c j=∑x j s:label(s)=j j ,j=1,2,…k 重复步骤2和步骤3,直到达到最大迭代次数为止2、实验结果 二、图像处理 1、算法描述 同上; 2、实验结果

代码: k_means: %%%%%%%%%K_means%%%%%%%% %%%%%%%%%函数说明%%%%%%%% %输入: % sample——样本集; % k ——聚类数目; %输出: % y ——类标(从0开始) % cnew ——聚类中心 % n ——迭代次数 function [y cnew n]=k_means(sample,k) [N V]=size(sample); %N为样本的个数 K为样本的维数 y=zeros(N,1); %记录样本类标 dist=zeros(1,k); rand_num=randperm(N); cnew=(sample(rand_num(1,1:k),:));%随机初始化聚类中心cold=zeros(k,V); n=0;

MATLAB中的矩阵与向量运算

4.1 数组运算和矩阵运算 从外观形状和数据结构来看,二维数组和数学中的矩阵没有区别.但是,矩阵作为一种变换或映射算符的体现,矩阵运算有着明确而严格的数学规则.而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方面,操作简单,指令形式自然和执行计算有效.所以,在使用MATLAB时,特别要明确搞清数组运算和矩阵运算的区别.表 4.1.1 数组运算和矩阵运算指令形式和实质内涵 数组运算矩阵运算 指令含义指令含义 A.'非共轭转置A'共轭转置 A=s把标量s赋给数组A的每个元素 s+B把标量s分别与数组B的每个元素相加s-B, B-s标量s分别与数组B的元素之差 s.*A标量s分别与数组A的元素之积s*A标量s分别与矩阵A的元素之积 s./B, B.\s标量s分别被数组B的元素除s*inv(B)矩阵B的逆乘标量s A.^n数组A的每个元素的n次方A^n A为方阵时,矩阵A的n次方 A+B数组对应元素的相加A+B矩阵相加 A-B数组对应元素的相减A-B矩阵相减 A.*B数组对应元素的相乘A*B内维相同矩阵的乘积 A./B A的元素被B的对应元素除A/B A右除B B.\A一定与上相同B\A A左除B(一般与右除不同) exp(A)以e为底,分别以A的元素为指数,求幂expm(A) A的矩阵指数函数 log(A) 对A的各元素求对数logm(A) A的矩阵对数函数 sqrt(A) 对A的积各元素求平方根sqrtm(A) A的矩阵平方函数 从上面可以看到,数组运算的运算如:乘,除,乘方,转置,要加"点".所以,我们要特别注意在求"乘,除,乘方,三角和指数函数"时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维. 4.2 数组的基本运算 在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组. 4.2.1 点转置和共轭转置 . ' ——点转置.非共轭转置,相当于conj(A'). >> a=1:5; >> b=a. ' b = 1 2 3 4 5 >> c=b. ' c = 1 2 3 4 5 这表明对行向量的两次转置运算便得到原来的行向量. ' ——共轭转置.对向量进行转置运算并对每个元素取其共轭.如: >> d=a+i*a

matlab课程教学设计(简单计算器的设计)

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码 function varargout = Calculator(varargin) %Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

西电《软件技术基础》上机大作业答案解析

说明 每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验内容 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n , e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置) 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。(文件夹:分解单链表) 实验二栈和队列 一、实验目的 1.熟悉栈和队列的顺序和链式存储结构 2.掌握栈和队列的基本运算 3.能够利用栈和队列的基本运算完成栈和队列应用的运算 二、实验内容 1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。)(文件夹:判字符串中心对称) 2.假设以数组sequ[m]存放循环队列的元素,同时设变量rear和quelen 分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。 提示:队空的条件:sq->quelen==0;队满的条件:sq->quelen==m。(文件夹:循环队列)实验三串 一、实验目的 1.熟悉串的顺序存储结构 2.掌握串的基本运算及应用 二、实验内容 1.串采用顺序存储结构,编写朴素模式匹配算法,查找在串中是否存在给定的子串。(文件夹:模式匹配) 2.若S是一个采用顺序结构存储的串,利用C的库函数strlen和strcpy(或strncpy)编写

matlab矩阵操作汇总

matlab矩阵操作大全 1.1.1数值矩阵的生成 1.实数值矩阵输入 MATLAB的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多 重的方括号。如: >> Time = [11 12 1 2 3 4 5 6 7 8 9 10] Time = 11 12 1 2 3 4 5 6 7 8 9 10 >> X_Data = [2.32 3.43 ; 4.37 5.98] X_Data = 2.43 3.43 4.37 5.98 >> vect_a = [1 2 3 4 5] vect_a = 12~ 3 4 5 >> Matrix_B = [1 2 3 ; >> 2 3 4 ; 3 4 5] Matrix_B = 1 2 3 2 3 4 3 4 5 >> Null_M = [ ] %生成一个空矩阵

2 .复数矩阵输入 复数矩阵有两种生成方式: 第一种方式 1/ 13

例1-1 >> a="2".7。b=13/25 >> C 二[1,2*a+i*b,b*sqrt(a) 5.4000 + 0.5200i 0.8544 5.3000 4.5000 第2种方式 例1-2 >> R=[1 2 3 。 4 5 6], M=[11 12 13 。 14 15 16] R = I 2 3 4 5 6 M = II 12 13 14 15 16 >> CN="R"+i*M CN = 1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i 4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i si n(pi/4),a+5*b,3.5+1] C= 1.0000 0.7071

MATLAB实验二 矩阵基本运算(一)答案

实验一 矩阵基本运算(一) (1)设A 和B 是两个同维同大小的矩阵,问: 1)A*B 和A.*B 的值是否相等? ????? ?? =763514432A ???? ? ??=94 525 313 4B A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A*B, A.*B ans = 37 37 44 44 37 51 65 67 78 ans = 8 9 4 12 5 10 15 24 63 2)A./B 和B.\A 的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A./B, B./A

ans = 0.5000 1.0000 4.0000 1.3333 0.2000 2.5000 0.6000 1.5000 0.7778 ans = 2.0000 1.0000 0.2500 0.7500 5.0000 0.4000 1.6667 0.6667 1.2857 3)A/B和B\A的值是否相等? A=[2 3 4;4 1 5;3 6 7]; B=[4 3 1;3 5 2;5 4 9]; A/B, B/A ans = -0.3452 0.5119 0.3690 0.7857 -0.7857 0.6429 -0.9762 1.3095 0.5952 ans = 110.0000 -15.0000 -52.0000

92.0000 -13.0000 -43.0000 -22.0000 4.0000 11.0000 4)A/B和B\A所代表的数学含义是什么? 解: A/B是B*A的逆矩阵 B\A是B*A的逆矩阵 (2)写出完成下列操作的命令。 1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。 A=[0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186] B=A(2:5,[1,3,5]) A = 0.9501 0.4565 0.9218 0.4103 0.1389 0.0153 0.2311 0.0185 0.7382 0.8936 0.2028 0.7468 0.6068 0.8214 0.1763 0.0579 0.1987 0.4451 0.4860 0.4447 0.4057 0.3529 0.6038 0.9318 0.8913 0.6154 0.9355 0.8132 0.2722 0.4660 0.7621 0.7919 0.9169 0.0099 0.1988 0.4186 B = 0.2311 0.7382 0.2028 0.6068 0.1763 0.1987 0.4860 0.4057 0.6038 0.8913 0.9355 0.2722 2)删除矩阵A的第7号元素。 A=rand(6,6); >> A(7)=[inf] A = 0.8385 Inf 0.1730 0.1365 0.2844 0.5155

用MATLAB做一个计算器_包括加减乘除_平方_清空等功能

广西科技大学MATLAB课程设计说明书 课题:设计简易计算器 开发环境:MATLAB GUIDE 作者: 系别: 专业: 时间:

实验目的:1、熟悉MATLAB的主要控件使用方法。 2、熟悉MATLAB的GUI设计流程。 实验环境: 编程软件:MATLAB7.0 实验内容与结果: 使用MATLAB的GUI接口设计一个简单的计算器。 效果图: 一、布局GUI。 1.打开Matlab,输入Guide 回车或者在工具栏上点击图标出现Guide 窗口:

2.然后双击“Blank GUI(Default)”出现GUI窗口 3.添加按钮

4.根据按钮的作用及视觉效果做一定的修改 把按钮的字符串大小、颜色进行设置,对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。最终设置的静态文本框为白色,其他按钮均为分红色。 5.保存、添加功能函数 把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。 (1)数字按键编写。 在function pushbutton1_Callback(hObject, eventdata, handles)下输入:textString = get(handles.text1,'String'); textString =strcat(textString,'0'); set(handles.text1,'String',textString) 这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”, 然后由set(handles.text1,'String','textString'在text1中输出。

SQL数据库期末大作业

学校:北京联合大学 系别:信息管理系 姓名:孙超 学号:2013110444006 《餐饮业信息管理系统的开发》 1、本项目的需求分析 随着今年来中国餐饮行业的日益火爆,在强烈的行业竞争中,一个高效的餐饮信息管理系统的应用,无疑是至关重要的。高效,便捷的管理系统,不仅仅极大的方便了食客的就餐,同时对于餐饮公司的各项信息管理有着很大的帮助,同时,我们的餐饮信息管理系统还能帮助餐厅降低错误率,扩大营业范围,增加知名度等。 为了使得系统在操作的过程中,更加便捷,具有针对性,本次系统设计主要分为:员工登陆操作信息系统,以及店主操作管理信息系统。不同的设计从而达到不同的功能,实现信息的有效传达与管理。 第一:在员工使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.查询菜单 3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 第二:管理员使用本餐饮信息管理系统应可以实现以下功能: 1.添加修改查询客户会员信息(修改客户信息需客户确认) 2.添加修改查询菜单信息,最好能看到菜品图片 3.添加查询预定信息,为老顾客打折 4.客户可以在自己的会员账户里充值 5.顾客可以用现金买单也可以从会员账户里扣取 6.设定具体的打折方法 7.添加职员信息,权限也可以定为管理员。 8.可以查询使用者的现金收款金额。 二、餐饮业管理数据库管理系统的E-R模型(概念结构设计) 1.用户(员工)的信息:

编号、密码、类型、姓名、电话、收款金额 2.客户信息: 用户编号、客户编号、姓名、电话、密码、开卡时间、卡内余额 3.食谱: 类型、名称、价格、配料、照片 4.预定: 用户编号、日期、预定时间、客户姓名、类型、预定食谱、桌号5桌台管理: 桌号、使用情况、 6.点餐管理: 用户编号、类型、菜品、数量、价格、照片 7.盈利管理: 日期、日支出金额、店内收入、外卖收入、盈利额度 各对象之间的联系图: 用户E-R图 主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息。

矩阵在matlab中的基本命令

一、矩阵的表示 在MATLAB中创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、矩阵的尺寸不必预先定义。 二,矩阵的创建: 1、直接输入法 最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。 2、利用MATLAB函数创建矩阵 基本矩阵函数如下: (1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n 维的全1矩阵; (2) zeros()函数:产生全为0的矩阵;

(3) rand()函数:产生在(0,1)区间均匀分布的随机阵; (4) eye()函数:产生单位阵; (5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。 3、利用文件建立矩阵 当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。同时可以利用命令reshape对调入的矩阵进行重排。reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。 二、矩阵的简单操作 1.获取矩阵元素 可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。 也可以采用矩阵元素的序号来引用矩阵元素。 矩阵元素的序号就是相应元素在内存中的排列顺序。 在MATLAB中,矩阵元素按列存储。 序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。 其相互转换关系也可利用sub2ind和ind2sub函数求得。 2.矩阵拆分

2016年西安电子科技大学数模校赛B题

陀螺转子偏转角的测量 图1给出了测量陀螺转子偏转角的装置结构示意图。陀螺转子是一个球台,在其表面涂覆有黑、白相间的条纹图案,一个黑色条纹和与其相邻的白色条纹为一组条纹;在距转子表面一定距离上固定放置能够接收黑、白条纹反射光的光电传感器,共放置四个,位于与陀螺转子转轴垂直的同心圆上,每隔90°放置一个。 图1. 测量陀螺转子偏转角的装置结构示意图 当陀螺转子以一定的角速度绕其自转轴旋转时,光电传感器可以接收到黑、白条纹所反射的光,由于黑白条纹对信号光的反射率差异,可以定义光电传感器接收到白条纹反射光的时间与接收到该组黑白条纹反射光的时间之比为占空比k。若陀螺转子的自转速度恒定,则占空比可以转换为光电传感器所在的平面与陀螺转子表面相交的交线在白条纹部分的弧长与在该组(图2红浅黑为一组)黑白条纹部分的弧长之比。 以陀螺转子的球心为坐标原点,陀螺转子的自转旋转轴为X轴,建立右手坐标系。旋转方向定义为:右手握住旋转轴,竖起拇指指向旋转轴正方向,正向旋转方向就是其余手指卷曲的方向,即从旋转轴正方向看下去,逆时针方向就是正向旋转方向。 假设在陀螺转子表面涂覆的黑、白条纹的数目均为n,则赤道圆上每个黑条纹或白条纹所对应的角度为α=π/n;陀螺转子上下表面对应的球心角为?m。如图2

所示(为便于表示,以红色标识白条纹)。弧 DBI所在的大圆可以看作是过B点的经线圆(即弧 ABC所在的大圆)以OB为轴(即Y轴)逆时针旋转β角而得到的,弧 DEF所在的大圆可以看作是过B点的经线圆绕X轴顺时针旋转α角而得到的。由几何关系可知,若α和?m均为定值时,β也为一定值。 图2. 陀螺转子表面黑白条纹的定义 在实际过程中,当陀螺转子以一定的角速度绕其自转轴(即X轴)旋转时,自转轴会随着外界的环境以球心为定点发生偏转。若陀螺转子没有发生偏转,四个光电传感器所测得的占空比是相同的;若陀螺转子的自转轴发生偏转,则四个固定不动的光电传感器所测得的占空比也会发生变化,根据光电传感器测得的占空比值即可计算出陀螺转子的偏转角度。 请建立数学模型解决以下问题(问题1必选,问题2~4任选其一): 1.定义陀螺转子的自转轴与原始X轴之间的夹角为Φ,建立Φ与光电传感器测得的占空比之间的关系。如能给出解析关系式,则给出解析关系式;若不能给

用MATLAB GUI设计简单计算器

HUBEI NORMAL UNIVERSITY 《MATLAB与仿真》课程设计论文 Course’s Thesis

摘要 基于MATLAB GUI的计算器设计是利用GUIDE创建图形用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方、开平方和对数的输入显示。进行四则运算、正弦计算、余弦计算、正切计算和余切计算,可以求阶乘、求百分数和求倒数。可以进行括号及变量x与变量y的输入,结合坐标轴编辑框和曲线颜色编辑框实现函数的曲线绘制。最后运行调试,实现基于MATLAB GUI的计算器的设计。 MATLAB GUI介绍 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。 MATLAB是matrix和laboratory两个词的组合,意为矩阵工厂,主要面对科学计算、可视化以及交互式程设计的高科技计算环境。MATLAB是将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效 数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。 MATLAB的图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。MATLAB的图形用户界(GUI)是由光标,窗口,菜单、文字说明等对象构成一个用户界面。用户可以通过键盘输入相关的参数,通过鼠标选择、激活这些对象,使计算机完成相关的计算或者绘制波形等功能。MATLAB的GUI为开发者提供了一个不脱离MATLAB的开发环境,有助于MATLAB程序的GUI集成。这样可以使开发者不必理会一大堆烦杂的代码,简化程序,但是同样可以实现向决策者提供图文并茂的界面,甚至达到多媒体的效果。可以说MATLAB提供了一个简便的开发环境,可以让开发者快速上手,提高了开发者的工作效率。 MATLAB的图形界面设计是通过对各种图形对象的操作来实现的,因此用户在使用的过程需要深入了解各种图形对象的特征、属性和操作。由此可见,图形用户界面的设计、制作是一件比较繁琐的工作。图形用户界面的创建一般有两种常用的方式:第一是通过使用m文件直接动态添加控件;第二是使用GUIDE快速生成GUI界面。这两种实现的方法都需要使用M语言编程,但是技术的侧重点不同。所谓的GUIDE就是图形用户界面开发环境 (Graphical User Interface Development Environment),它向用户提供了一系列的创建用户图形界面的工具。这些工具大大简化了GUI设计和生成的过程。GUIDE可以完成的任务有如下两点:第一是输出GUI,第二是GUI编程。GUIDE

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

Matlab界面、矩阵操作

科学计算与MATLAB语言

教学内容 第1讲介绍MATLAB概述与运算基础第2讲介绍MATLAB程序设计 第3讲MATLAB文件操作 第4讲绘图形功能 第5讲线形代数中的数值计算问题 第6讲数据处理方法与多项式 第7讲MATLAB符号计算 第8讲MATLAB的图形用户界面设计

第一讲MATLAB概述与运算基础MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,历经十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

在欧美各高等院校,MATLAB已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。 MATLAB: 是英文MATrix LABorotory(矩阵实验室) 的缩写。

一. MATLAB特点:

1. 数值计算和符号计算功能 MATLAB的数值计算功能包括:矩阵运算、多项式和有 理分式运算、数据统计分析、数值积分、优化处理等。符 号计算将得到问题的解析解。 2.MATLAB语言 MATLAB除了命令行的交互式操作以外,还可以程序方式 工作。使用MATLAB可以很容易地实现C或FORTRAN语言的几乎全部功能,包括Windows图形用户界面的设计。 3.图形功能 MATLAB提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用MATLAB的高级图形命令可以轻而易举地绘制二维、三维乃至四维图形,并可进行图形和坐标的标识、视角和光照设计、色彩精细控制等等。

matlab中的矩阵的基本运算命令范文

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

基于MATLAB计算器设计与开发

六.主要参考文献 . (19) 一、课程设计应达到的目的 本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI 程序设计的能力。 二、 课程设计的基本要求: 要求利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要求实现: A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。(必做) B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(必做) C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做) D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做) E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的内容。(选做) 利用MATLAB GUI 功能,在绘制一个静态文本框和一个文本编辑框,以及命令按钮,调整好各控件大小、颜色,整体布局如图所示: 然后通过双击个按钮来改写其属性,在m 文件中编写其回调函数,最后在运行调试。 成绩

三、课题设计内容与步骤 3.1 各功能界面设计 GUI设计界面: 3.2 各功能模块实现 算法设计: A. 数字键设计:0—9以及小数点函数都一样,只是参数不同: global jj textString = get(handles.text1,'String'); if(strcmp(textString,'0.')==1)&(jj==0) set(handles. edit1,'String','1') ; else textString =strcat(textString,'1'); set(handles. edit1,'String',textString) end jj=0;

西电排队论大作业完整版

西电排队论大作业 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

西安电子科技大学 (2016年度) 随机过程与排队论 班级: XXXXXXX 姓名: XXX XXX 学号: XXXXXXXXXX XXXXXXXXXXX 一步转移概率矩阵收敛快慢的影响因素 作者姓名:XXX XXX 指导老师姓名:XXX (西安电子科技大学计算机学院,陕西西安) 摘要:根据课程教材《排队现象的建模、解析与模拟【西安电子科技大学出版 社曾勇版】》,第[马尔可夫过程]中,马尔可夫过程链n时刻的k步转移概率结 果,当k=1时,得到一步转移概率。进而得到一步转移概率矩阵P(1)。为研究 此一步转移概率矩阵(下称一步矩阵)的收敛特性以及影响其收敛快慢的因素,使 用MATLAB实验工具进行仿真,先从特殊矩阵开始做起,发现规律,然后向普通矩 阵进行拓展猜想,并根据算术理论分析进行论证,最终得出一步矩阵收敛快慢的影 响因素。 关键词:一步转移概率矩阵 MATLAB 仿真猜想 一、问题概述 我们讨论时一步矩阵的特性应从以下两方面来分析: (1)矩阵P(n)在满足什么条件时具有收敛特性; 对于矩阵P(n),当P(n)=P(n+1)时,我们说此矩阵 具有收敛特性,简称矩阵 P(n)收敛。 (2)若一个一步矩阵具有收敛特性,那么其收敛速度与什么有关

首先,我们需要明确什么是一步矩阵收敛: 对于一般的一步矩阵P 、矩阵An+1、矩阵An,若有: An+1=AnP=An 那么称该一步转移矩阵可收敛。 二、仿真实验 1、仿真环境 本次采用的是MATLAB仿真实验软件进行仿真实验 2、结果与分析 【1】、特殊矩阵:单位矩阵与类单位矩阵 从图(1)和图(2)可以看出,单位矩阵不具有收敛特性,类单位矩阵并非单位矩阵但是经过n次后也变为单位矩阵,所以此矩阵也不具有收敛特性。此类矩阵也易证明其不具有收敛性。 图(1)单位矩阵图(2):类单位 矩阵 【2】、一般单位矩阵 图(3):一般一步矩阵Ⅰ 图(4):一般一步矩阵 从图(3)和()可以看出他们分别在18次和4次后收敛到一个稳定的值 3、根据实验的猜想 根据在单位矩阵和一般单位矩阵和一般一步矩阵中得到的结果,可以对得出如下结论:类单位矩阵、单位矩阵是不具有收敛性的,而一般的一步矩阵是有收敛性的,而且收敛速率有快有慢。 对于上面结论中的状况,我们首先观察如上四个矩阵,不难发现,在矩阵收敛的最终结果矩阵中,其每行和均为1,而且每列上的值均为相同值。最终概率分布结果也是矩阵收敛后的一行。 所以根据上述的结果及分析做出如下猜想: 每一列比较均匀的矩阵收敛速度较快;与类单位矩阵类似的矩阵收敛速度较慢。 在极限情况下,有如下情况:

基于matlab的计算器制作

基于MATLAB的计算器制作从入门到高级 项目一、建立GUI框架 1,双击MATLAB图标(本实例使用的是MATLAB R2014),打开软件 2,打开GUI操作界面。有两种方式: a、在命令行窗口输入guide,然后点击回车。 b、先点击新建图标,在选择‘图形用户界面’。 得到如下窗口: 左上方有两个按钮:‘新建GUI’,‘打开现有GUI’。 对于‘新建GUI’:下方的选择框内有你可以选择建立的GUI类型,对于初学者一般选择第一个。下方是用来设置 保存文件位置的。

对于‘打开现有GUI’:初学者可能会在网上下载一些GUI源程序,使用‘打开现有GUI’,再浏览到文件所在位置便可。 3、构建GUI框架: 在选择新建GUI并且确定后,会弹出如下窗口: 在窗口的左边会有很多选项,可以一个个拖动编辑框内; 是不是发现这些选项发挥的作用刚好就是我们平常打开一个网页或者一个软件进行操作时的选择按钮。比较常见的有:按钮、单选按钮、拖动条、弹出式菜单等。看到这里细心地朋友就会发现,MATLAB GUI似乎可以开发出大型

软件哦,只要你有足够的想象力,当你从一个小白进阶到 一个高手之后,你可以做到的。 本次计算器制作只需要用到静态文本(或者是动态文本)用来做显示器,按钮(用来操作)。也可以添加一个面板 用来修饰。 在拖出的选项上双击,会得出该选项的属性栏,比如说 双击一个按钮选项,你会得到: 这个属性框比较复杂,没有必要一个个说清楚(有兴趣的 可以自己研究,其实理解起来也挺简单的) 本次计算器制作,我们只需要知道以下几个:

◆a、BackgroundColor取值为颜色的预定义字符或RGB 数值;缺省(就是默认的意思)值为浅灰色; ◆b、ForegroundColor取值为颜色的预定义字符或RGB 数值,该属性定义控件对象标题字符的颜色;缺省值为黑色; ◆c、String取值为字符串矩阵或块数组,定义控件对 象标题或选项内容; ◆d、FontName取值为控件标题等字体的字库名; ◆e、FontSize取值为数值,控制字体大小; ◆f、Tag取值为字符串,定义了控件的标识值,在任何 程序中都可以通过这个标识值控制该控件对象; ◆g、Style取值可以是pushbutton(缺省值), radiobutton, checkbox, edit, text, slider, frame, popupmenu 或listbox; 项目二、简单加法器的制作 1、框架准备

云南大学数据库期末大作业:数据库设计

云南大学软件学院实验报告 课程:数据库原理与实用技术实验学期:任课教师: 专业:学号:姓名:成绩: 期末大作业:Electronic Ventor 数据库设计 一、实验目的 (1)掌握数据库设计的基本方法 (2)掌握各种数据库对象的设计方法 (3)熟练掌握DBA必须具备的技能 二、实验内容 1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。 (1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。其中地址、电话以方便联系和寄货; (2)网站管理员可以登记各种商品,供客户查询,订购。登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品; (3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖; (4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额; (5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货; (6)配送单中包含查询号可唯一识别配送单,配送人,联系方式; (7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。 (8)各实体间关系 1)一个客户可以购买多种商品,一种商品可以被多个客户购买; 2)一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有; 3)一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品; 4)一个订单对应一个客户,一个客户对应多个订单; 5)一个订单对应至少有一件商品或多件,一个商品对应多个订单; 6)一个订单可以有一个商品配送单 7)一个仓库可以存放多种商品,一种商品可以存放在一个仓库;

西电电院复试题+面试专业课问题+复试心得+奖学金

一、复试总体流程: 一、笔试 复试的第一个步骤是先进行笔试,电院的笔试是三选二:数处、数模电、微原。选择两门,我去年选的是数处和数模电,数处没有选择题,没有填空题,全为计算题,总分50,第一题是判断线性非线性,考了一道循环卷积好像还有卷积,没有编程,没有蝶形运算,滤波器设计去年考的很少,基本上都是基础题。数模电一共50分,模电有填空题,好像就是有关基极、集电极、发射极放大的问题,所以建议大家务必把那一章搞明白,另外还有运算器那一章最基本的问题,给出一个关系式,会画出原路图,数电相对来说较为简单,设计题较多,建议同学们把计数器搞明白,会画出N进制计算器的电路原理图。 二、面试 面试的时候会有一个英文问答,不过能过电子所的线大概不用担心,在面试之前最好看看你的导师是研究什么的,因为一般情况下他会问道相关内容,英文一般会让你做自我介绍,外校的一般会让你介绍自己的学校,为什么要上西电,对西电的看法等等,有的老师还会问到你的毕业设计问题,这方面最好也准备一下,听说CAD所还让编程序。总之,希望大家好好准备,能够在面试时从容不迫,应对自如。 三、体检 面试结束会有一个体检。体检结束,复试也就基本结束了。 二、复试目的及难度 1)通过复试可使导师充分了解考生本科阶段的专业课理论基础,以达到考核考生专业课基本概念、基本理论以及基本的分析方法目的,从而把考生档次拉开; 2)复试题难度与期末考试试题难度相当,主要考察专业课的基本概念、基本的分析方法;熟悉专业课的组成和原理;了解专业知识主要组成部分的实现方法。 三、复试笔试题(回忆版) 模电 1含有二极管的电路中,流过二极管的电流; 2运放的比例电路,和积分电路设计; 3最后有一道有一点难,还像是矩形波发生器电路,与耗尽型三极管组成开关电路什么的; 4 7805稳压管的电压及功率计算; 5单管互补功率放大电路的最大输出功率,及耐压值; 6稳压管电路中电压的计算 数电 1设计100进制计数器; 2由最大项化解为最小项表达式; 3 J触发器的设计;

相关主题
文本预览
相关文档 最新文档