简单有限元计算程序。 NJF---结点自由度数 E---弹性模量 NE---单元数 T---板厚度 VM---泊松比 z---实型二维数组,用来存放结点坐标 ZJ---实型二维数组,用来存放每个约束自由度方向和该方向的约束值, ie---实型二维数组,存放布尔矩阵 p---实型一维数组,先存放等效结点载荷,解完方程后存放输出的结点位移 a,b,a---实型数组,存放各个单元的面积及由结点坐标计算的bi,bj,ci,cj g---实型数组,存放单刚子块 zk---实型二维数组,存放整刚矩阵
上传时间: 2014-01-24
上传用户:cuibaigao
一个小的telnet程序与大家共享,/* 本程序支持如一些参数: * --host IP地址 或者 -H IP地址 * --port 端口 或者 -P 端口 * --back 监听数量 或者 -B 监听数量 * --dir 服务默认目录 或者 -D 服务默认目录 * --log 日志存放路径 或者 -L 日志存放路径 * --daemon 使程序进入后台运行模式 */
上传时间: 2016-11-20
上传用户:515414293
一、 进程控制 1、 定义PCB(可以采用静态结构或动态结构):包括理论PCB中的基本内容,如ID、进程状态、队列指针。由于无法实现真正的进程创建功能,在实验中只需建立PCB,用它代表完整的进程。 2、 定义进程状态转换方式:进程的状态转换是由进程内部操作或操作系统的控制引起,由于无法实现这些功能,学生可以采用随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生1-6的随机数,分别代表创建进程(c)、结束进程(e)、进程阻塞(b)、激活进程(w)、调度进程(p)、时间片到(t)等事件;键盘模拟方法指定义6种按键代表以上6种事件。 3、 根据四种事件处理就绪队列、阻塞队列和当前执行中的进程。 每次事件处理后应形象地显示出当前系统中的执行进程是哪一个,就绪队列和阻塞队列分别包含哪些进程。
上传时间: 2016-12-23
上传用户:wyc199288
专家点评: Y P7 `. @ {$ r% pa.功能很强大,可以看出花了很多心血在算法上,非常好。算法上还有一点瑕疵,例如在删除一个员工的同时没有办法自动建立其他员工的上下级关系,必须删除全部下级员工,不是非常合理。此外,界面设计过于简单,应该加强. " W" R+ b* g$ a$ Sb.程序运用了自己的算法来提高Tree控件显示的速度和资源分配,这个非常值得肯定和鼓励。* C. c4 D0 e9 ` J$ w# U c.基本实现所有规定的功能,在所有参赛者中唯一熟 : O) l- F6 F9 f) S7 Q. l练使用面向对象设计方式开发程序的工程师,很不错!程序体现了作者非常扎实的数据结构功底,值得大家学习。工程管理也做得非常好,体现了作者在软件工程方面也有很深入的研究,该代码是很好的学习范例。 % G* H$ ~3 W1 ]. e! id.算法的创新是独特之处(hashtable算法建立),可见作者在数据结构方面的熟练掌握.此程序是很多专家会员学习典范.
上传时间: 2017-01-19
上传用户:奇奇奔奔
为 了提高用户身份认证和授权管理的灵活性,从We b 应用系统的安全性角度出发,讨论了 一 种在. N E T F r a me w o r k下保证应用程序安全性的身份验证和授权模型,并给出了模型的具体实现方法。 该模型利用 F o r ms身份验证方法对用户的身份进行鉴别。在授权处理上,模型结合统一资源定位( u . J f o r m R e s o u r c e L o c a t o r , U R L ) 授权模式和用户所具有的系统角色,分别从页面级和页面操作级对用户的访问进行 控制。该模型在企业局域网环境内能够提供比较灵活的身份认证和基于角色的授权服务。实际应用表明, 基于该模型的We b应用系统能够对用户的访问进行有效的控制,从而保证了系统的安全性
上传时间: 2013-12-31
上传用户:VRMMO
Kullanı lan bazı matlab bilgileri Matlabda kodlar mfile lara yazı lı p kaydedilebilir. Ü st menüden, file, new, mfile. Command windowa yazdı kları nı zı kaydedemezsiniz. Yazdı ğ ı nı z kodu ç alı ş tı rabilmeniz iç in ç alı ş tı ğ ı nı z current directory nin altı na kaydetmelisiniz. Current directory i dosyanı n bulunduğ u yere de gö türebilirsiniz
标签: 305 bilgileri kaydedile Matlabda
上传时间: 2014-01-06
上传用户:miaochun888
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
g a w k或GNU awk是由Alfred V. A h o,Peter J.We i n b e rg e r和Brian W. K e r n i g h a n于1 9 7 7年为U N I X创建的a w k编程语言的较新版本之一。a w k出自创建者姓的首字母。a w k语言(在其所有的版本中)是一种具有很强能力的模式匹配和过程语言。a w k获取一个文件(或多个文件)来查找匹配特定模式的记录。当查到匹配后,即执行所指定的动作。作为一个程序员,你不必操心通过文件打开、循环读每个记录,控制文件的结束,或执行完后关闭文件。
上传时间: 2014-01-02
上传用户:hwl453472107
I=imread('fig1.jpg');%从D盘名为myimages的文件夹中读取。格式为jpg的图像文件chost J=imnoise(I,'salt & pepper',0.02);%给图像加入均值为0,方差为0.02的淑盐噪声 subplot(2,4,1); imshow(I); title('原始图像'); subplot(2,4,2); imshow(J); title('加入椒盐噪声之后的图像'); %h=ones(3,3)/9; %产生3 × 3的全1数组 %B=conv2(J,h); %卷积运算 %采用MATLAB中的函数对噪声干扰的图像进行滤波 Q=wiener2(J,[3 3]); %对加噪图像进行二维自适应维纳滤波 P=filter2(fspecial('average',3),J)/255; %均值滤波模板尺寸为3 K1=medfilt2(J,[3 3]); %进行3 × 3模板的中值滤波 K2= medfilt2(J,[5 5]); %进行5 × 5模板的中值滤波 K3= medfilt2(J,[7 7]); %进行7 × 7模板的中值滤波 K4= medfilt2(J,[9 9]); %进行9 × 9模板的中值滤波 %显示滤波后的图像及标题 subplot(2,4,3); imshow(Q); title('3 × 3模板维纳滤波后的图像'); subplot(2,4,4); imshow(P); title('3 × 3模板均值滤波后的图像'); subplot(2,4,5); imshow(K1); title('3 × 3模板的中值滤波的图像'); subplot(2,4,6); imshow(K2); title('5 × 5模板的中值滤波的图像'); subplot(2,4, 7); imshow(K3); title('7 × 7模板的中值滤波的图像'); subplot(2,4,8); imshow(K4); title('9 × 9模板的中值滤波的图像');
上传时间: 2016-06-02
上传用户:wxcr_1
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789