数学软件与实验 第一次上机作业

合集下载

matlab第一次作业

matlab第一次作业

《数学实验》上机考核办法与内容安排《数学实验上机》是与《数学实验》课程配套的课程,主要是由学生利用固定的时间让学生在计算机房集中完成《数学实验》课程中相关内容的上机操作实践部分,本学期的上机共安排7次,每次2小时。

具体安排如下:内容比例时间第1次:MATLAB基本操作和编程实验 15% 第4周第2次:微积分实验 15% 第6周第3次:微分方程实验 15% 第8周第4次:线性代数计算实验 15% 第10周第5次:数理统计实验 15% 第12周第6次:优化实验 15% 第14周第7次:综合实验考查 10% 第16周《数学实验上机》的成绩评定方式为考查,具体考核内容及比例见上面安排,学生最终的成绩以百分制给出,它是每次上机得分总和。

《数学实验上机》每次的成绩考核办法如下:(1)考勤:20%,上机实行签到制;(2)认真完成上机内容,上机过程中不上无关的网站、不打游戏,但可以与同学交流、讨论;(3)完成效果(报告必交)【例外规则】:有以下两种情况之一者核定为上机成绩不及格(1)无故缺勤2次或者(2)上机操作综合考察不及格。

-8-6-4-202468-1.5-1-0.50.511.5-2-1.5-1-0.500.511.52-1-0.8-0.6-0.4-0.200.20.40.60.81xexp(-x 2)第1次 MATLAB 绘图及简单编程一、曲线绘图1. 画出sin cos y x x =+在区间[2,2]ππ-上的图形,。

设定y 的范围为[1,1]-【MATLAB 程序】:x=linspace(-2*pi,2*pi,1000); y=linspace(-1,1,1000); y=sin(x)+cos(x); plot(x,y)【输出结果】:2.绘制高斯曲线2x y e -=。

【MATLAB 程序】: 【输出结果】:-2-1.5-1-0.500.51 1.52-2-1.5-1-0.500.511.523. 画出参数方程11231123cos cos7sin17,02sin sin 7cos17x t t t t y t t tπ=++⎧≤≤⎨=++⎩的图形。

数学建模实验报告

数学建模实验报告

数学建模实验报告Lingo软件的上机实践应用《数学建模实验报告》Lingo软件的上机实践应用简单的线性规划与灵敏度分析学号:班级:姓名:日期:20XX年-7-21数学与计算科学学院Lingo软件的上机实践应用一、实验目的:通过对数学建模课的学习,熟悉了matlab和lingo等数学软件的简单应用,了解了用lingo软件解线性规划的算法及灵敏性分析。

此次lingo上机实验又使我更好地理解了lingo程序的输入格式及其使用,增加了操作连贯性,初步掌握了lingo软件的基本用法,会使用lingo计算线性规划题,掌握类似题目的程序设计及数据分析。

二、实验题目(P55课后习题5):某工厂生产A1、A2两种型号的产品都必须经过零件装配和检验两道工序,如果每天可用于零件装配的工时只有100h,可用于检验的工时只有120h,各型号产品每件需占用各工序时数和可获得的利润如下表所示:(1)试写出此问题的数学模型,并求出最优化生产方案。

(2)对产品A1的利润进行灵敏度分析(3)对装配工序的工时进行灵敏度分析(4)如果工厂试制了A3型产品,每件A3产品需装配工时4h,检验工时2h,可获利润5元,那么该产品是否应投入生产?Lingo软件的上机实践应用三、题目分析:总体分析:要解答此题,就要运用已知条件编写出一个线性规划的Lingo程序,对运行结果进行分析得到所要数据;当然第四问也可另编程序解答。

四、实验过程:(1)符号说明设生产x1件A1产品,生产x2件A2产品.(2)建立模型目标函数:maxz=6x1+4x2 约束条件:1)装配时间:2x1+3x2=100 2)检验时间:4x1+2x2=120 3)非负约束:x1,x2=0 所以模型为:maxz=6x1+4x2 2x1 3x2 100s.t. 4x1 2x2 120 x,x 0 12Lingo软件的上机实践应用(3)模型求解:1)程序model:title 零件生产计划; max=6*x1+4*x2; 2*x1+3*x2=100; 4*x1+2*x2=120; end附程序图1:2)计算结果Global optimal solution found.Objective value: 200.0000 Total solver iterations: 2Model Title: 零件生产计划Lingo软件的上机实践应用Variable Value Reduced Cost X1 20.00000 0.000000 X2 20.00000 0.000000Row Slack or Surplus Dual Price 1 200.0000 1.000000 2 0.000000 0.***-***** 3 0.000000 1.*****附运行结果图1:3)做灵敏性分析:Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 6.000000 2.000000 3.***** X2 4.000000 5.0000001.000000Righthand Side RangesRow Current Allowable Allowable RHS Increase Decrease 2 100.0000 80.00000 40.00000 3 120.0000 80.00000 53.***** 附灵敏性分析图1:Lingo软件的上机实践应用五、问题解答:1)试写出此问题的数学模型,并求出最优化生产方案答:①数学模型:maxz=6x1+4x22x1 3x2 100s.t. 4x1 2x2 120 x,x 0 12②生产20件A1产品,生产20件A2产品,最大利润200元。

数学软件与数学实验习题(2)

数学软件与数学实验习题(2)

一、选择题1、空间曲线绘图命令是:(B)。

(A) plot2 (B) plot3 (C) surf (D) plot2、在matlab中,命令hold off 表示是:(D)。

(A) 在图中消隐分隔线。

(B) 使系统处于可放大状态。

(C) 保留当前图形和它的轴,使其后图形放在当前图形上。

(D) 此后图形指令运作将抹掉当前窗口中的旧图形,然后画上新图形。

3、生成三维表面图的命令是:(A)。

(A) surf (B) meshc (C) mesh (D) meshz4、下面哪个命令的功能是是系统处于可放大状态(C)。

(A) grid on (B) hold on (C)zoom on (D) hidden on5、在MATLAB的若干通用操作指令中,清除内存中的变量的是(A)(A)clear (B)cla (C)clf (D)clc6、下列表示可以作为MATLAB的变量的是(DF)(A)abcd-2 (B)xyz_2# (C)@h(D)X_1_a (E)for (F)for17、运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为(C)a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);(A)x1=num2str(1) x2=num2str(1)(B)x1=num2str(-1) x2=num2str(1)(C)x1= -1 x2=-1(D)x1=1 x2=-1二、填空题1、命令clf的含义是清除图形窗口2、命令colormap的含义是图形颜色控制命令3、已知A=[096;130];B=[143;150];写出下列各指令运行的结果。

数学软件与实验课后题

数学软件与实验课后题

3.计算∑=101!k k ,要求:(1)用循环结构并使用上体的M 函数文件 ①s=0; for k=1:10 f=f1(k); s=s+f; end s结果:s =4500244②function f=f4(n) f=0;for i=1:nf=f+f1(i); end(2)用help 命令查询sum 和prod 的用法,并用这两个指令完成计算。

n=input('enter a number:'); sum=0; for i=1:nsum=sum+prod([1:i]); end sum4.用尽可能多的方法编写Matlab 函数mysum1.m 来计算和式f(n)=∑=+ni i i 1)*/11ln(.其中,n 为函数的输入变量,函数输出为f (n )的值,分析指出他们执行效率的高低,给出理由。

①n=input('enter a number:'); s=0;for i=1:nt=log(1+1/(i*i)); s=s+t;end s②function f=mysum1(n) f=0; k=0;while k<n k=k+1;f=f+log(1+1/(k*k)); end③function f=mysum11(n) if n==1f=log(2); elseif n>1f=mysum11(n-1)+log(1+1/(n*n)); elseerror('wrong input parameter!'); end④function f=mysum12(n) k=1:n;s=log(1+1./(k.*k)); f=sum(s);5.、用尽可能多的方法编写Matlab 函数mysum1.m 来计算如下和式:f(n)=1/(1*4)+1/(4*7)+…+1/((3n-2)*(3n+1))其中,n 为函数的输入变量,函数输出为f(n)的值。

①function f=mysum2(n) f=0;for k=1:nt=1/((3*k-2)*(3*k+1)); f=f+t; end②function f=mysum21(n) f=0; k=0;数学软件与数学实验作业while k<nk=k+1;t=(3*k-2)*(3*k+1);f=f+1/t;end③function f=mysum22(n)if n==1f=1/4;elseif n>1t=(3*n-2)*(3*n+1);f=mysum22(n-1)+1/t;elseerror('wrong input parameter!'); end④function f=mysum23(n)k=1:n;t=(3.*k-2).*(3.*k+1);f=sum(1./t);6.写一个程序用于得到阶乘不超过10^100的最小整数。

数学的上机实验报告

数学的上机实验报告

实验题目:线性代数求解方程组一、实验目的1. 理解线性代数中方程组的求解方法。

2. 掌握利用计算机求解线性方程组的算法。

3. 熟悉数学软件(如MATLAB、Python等)在数学问题中的应用。

二、实验内容本次实验主要利用数学软件求解线性方程组。

线性方程组是线性代数中的一个基本问题,其求解方法有很多种,如高斯消元法、矩阵求逆法等。

本实验以高斯消元法为例,利用MATLAB软件求解线性方程组。

三、实验步骤1. 编写高斯消元法算法程序。

2. 输入方程组的系数矩阵和常数项。

3. 调用程序求解方程组。

4. 输出解向量。

四、实验代码及分析1. 高斯消元法算法程序```matlabfunction x = gaussElimination(A, b)[n, m] = size(A);assert(n == m, 'The matrix A must be square.');assert(n == length(b), 'The length of b must be equal to the number of rows in A.');% 初始化解向量x = zeros(n, 1);% 高斯消元for i = 1:n-1% 寻找最大元素[~, maxIdx] = max(abs(A(i:n, i)));maxIdx = maxIdx + i - 1;% 交换行A([i, maxIdx], :) = A([maxIdx, i], :);b([i, maxIdx]) = b([maxIdx, i]);% 消元for j = i+1:nfactor = A(j, i) / A(i, i);A(j, i:n) = A(j, i:n) - factor A(i, i:n); b(j) = b(j) - factor b(i);endend% 回代求解for i = n:-1:1x(i) = (b(i) - A(i, i+1:n) x(i+1:n)) / A(i, i); endend```2. 输入方程组的系数矩阵和常数项```matlabA = [2, 1, -1; 1, 2, 1; -1, 1, 2];b = [8; 5; 2];```3. 调用程序求解方程组```matlabx = gaussElimination(A, b);```4. 输出解向量```matlabdisp('解向量为:');disp(x);```五、实验结果与分析实验结果:```解向量为:2-13```实验分析:通过高斯消元法,我们成功求解了给定的线性方程组。

《数学模型及数学软件》上机训练题目70道

《数学模型及数学软件》上机训练题目70道

2011 年秋季《数学模型及数学软件 1》 20111020上机训练题目及分工名单 70 个题上机训练任务《数学模型与数学软件》上机报告(第 1 次)《数学模型及数学软件》上机训练题目(题目0+70 个题目)《数学模型及数学软件》上机训练题目70 个(惠富春20111020 发布)题目 0 内容:数学软件(MathType5.2、MATLAB 、Maple、Mathematica4.0、LINGO8.0)安装调试;基本命令使用(变量赋值、定义函数、过程控制、绘图命令、拟合、线性规划、非线性规划);高等数学实验(绘图,极限,求导,积分,解微分方程);线性代数实验(矩阵基本运算,线性方程组求解,解超定方程组,优化命令)。

调试给点的两个程序:1 c=[6,3,4];A=[0,1,0];b=[50];Aeq=[1,1,1];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)2 function f=fun3(x);f=x(1)2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2x0=[1;1];A=[2 3 ;1 4]; b=[6;5];Aeq=[];beq=[];VLB=[0;0]; VUB=[];[x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)以下为 70 个题目1 题据世界人口组织公布,地球上的人口在公元元年为 2.5 亿,1600 年为 5 亿,1830 年为 10 亿,1930 年为 20 亿,1960 年为 30 亿,1974 年为 40 亿,1987 年为 50 亿,到 1999 年底,地球上的人口数达到了 60 亿.请你根据 20 世纪人口增长规律推测,到哪年世界人口将达到 100 亿?到2100 年地球上将会有多少人口?2 题(1)求方程组 x=y*y and y=cos(x) 在(1,2)附近的根(2)求 f(x)=x+3*(x*x+cos(x))在区间[1,1]内的最小值。

Matlab第一次上机作业

Matlab第一次上机作业

输入: >>tic, n=9;[u,k]=xsj(n), toc,surf(u)
计算Байду номын сангаас果如下:
u=
0 0 0 0 0 0 0 0 0 0 0 0 0.0256 0.0413 0.0508 0.0560 0.0577 0.0560 0.0508 0.0413 0.0256 0 0 0.0413 0.0686 0.0859 0.0955 0.0986 0.0955 0.0859 0.0686 0.0413 0 0.0508 0.0859 0.1088 0.1216 0.1258 0.1216 0.1088 0.0859 0.0508 0 0 0.0560 0.0955 0.1216 0.1364 0.1412 0.1364 0.1216 0.0955 0.0560 0 0 0.0577 0.0986 0.1258 0.1412 0.1462 0.1412 0.1258 0.0986 0.0577 0 0 0.0560 0.0955 0.1216 0.1364 0.1412 0.1364 0.1216 0.0955 0.0560 0 0 0.0508 0.0859 0.1088 0.1216 0.1258 0.1216 0.1088 0.0859 0.0508 0 0 0.0413 0.0686 0.0859 0.0955 0.0986 0.0955 0.0859 0.0686 0.0413 0 0 0.0256 0.0413 0.0508 0.0560 0.0577 0.0560 0.0508 0.0413 0.0256 0 0 0 0 0 0 0 0 0 0 0 0 0
程序一: function [u,k]=xsbj(n) % xsbj:用块 Jacobi 迭代法求解线性方程组 A*u=f % u:方程组的解; k 迭代次数; n:非边界点数 % a:方程组系数矩阵 Aii 的下对角线元素;b:方程系数矩阵 Aii 的主对角线元素 % c:方程组系数矩阵 Aii 的上对角线元素;d:追赶法所求方程的右端向量 % e:允许误差界;er:迭代误差 f=2*1/(n+1)^(2)*ones(n+2,n+2); a=-1*ones(1,n);b=4*ones(1,n);c=-1*ones(1,n);u=zeros(n+2,n+2);e=0.000000001; for k=1:2000 er=0; ub=u; for j=2:n+1 d(1:n)=f(2:n+1,j)+ub(2:n+1,j-1)+ub(2:n+1,j+1); x=zg(a,b,c,d); u(2:n+1,j)=x'; er=er+norm(ub(:,j)-u(:,j),1); end if er/n^2<e,break; end end 程序二: function x=zg(a,b,c,d) % zg:用追赶法求解线性方程组 n=length(b); % LU 分解 u(1)=b(1); for k=2:n if u(k-1)==0,D=0,return; end l(k)=a(k)/u(k-1); u(k)=b(k)-l(k)*c(k-1); end % 追赶法求解之追过程,求解 Ly=d y(1)=d(1); for k=2:n y(k)=d(k)-l(k)*y(k-1); end % 追赶法求解之追过程,求解 Ux=y if u(n)==0,D=0,return;end x(n)=y(n)/u(n); for k=n-1:-1:1 x(k)=(y(k)-c(k)*x(k+1))/u(k); end 输入:

软件上机作业

软件上机作业

实验二:链表(续)
ex2_2:
1)创建一个单链表,其数据元素为整数,从键盘输 入,输入0结束(注意0不放到链表内); 2)从键盘任意输入一个整数,在单链表中查询该数, 如果单链表中已经存在这个数,就调用删除函数,删 除该元素所在结点,并将单链表在删除前后的数据元 素依次输出到屏幕上; 如果单链表中不存在这个数,就调用插入函数,将这 个数插入到单链表尾,并将单链表在插入前后的数据 元素依次输出到屏幕上。
提示:创建顺序表函数 /*create a list:input data from keyboard,end by -1*/ void createlist(list_type *lp) { int i, elem; lp->length=0; printf("\nplease input datas of the list\n"); for(i=0; i< MAXNUM; i++) { scanf(" %d", &elem); if(elem== -1) break; lp->data[i]=elem; lp->length++; } }
提示:插入函数,成功返回true,反之返回false。
int insertlist(list_type *lp, int new_elem, int i) { int j; if(lp->length>=MAXNUM) { printf("the list is full,can not insert."); return(false); } if(i<1 || i>lp->length+1) { printf("\n%d is invalid value",i); return(false); } for(j=lp->length-1; j>=i-1; j--) lp->data[j+1]=lp->data[j]; lp->data[i-1]=new_elem; lp->length++; return(true); }

MATLAB上机实验1答案(2021年整理精品文档)

MATLAB上机实验1答案(2021年整理精品文档)

MATLAB上机实验1答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(MATLAB上机实验1答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为MATLAB上机实验1答案的全部内容。

实验1 Matlab 初步一、问题已知矩阵A 、B 、b 如下:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-------------=031948118763812654286174116470561091143A ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡------=503642237253619129113281510551201187851697236421B []1187531=b应用Matlab 软件进行矩阵输入及各种基本运算.二、实验目的学会使用Matlab 软件构作已知矩阵对应的行(列)向量组、子矩阵及扩展矩阵,实施矩阵的初等变换及线性无关向量组的正交规范化,确定线性相关相关向量组的一个极大线性无关向量组,且将其余向量用极大线性无关向量组线性表示,并能编辑M 文件来完成所有的实验目的。

三、预备知识1、 线性代数中的矩阵及其初等变换、向量组的线性相关性等知识。

2、 Matlab 软件的相关命令提示如下;(1) 选择A 的第i 行做一个行向量:ai=A(i,:);(2)选择A的第j行做一个列向量:ai=A(j,:);(3)选择A的某几行、某几列上的交叉元素做A的子矩阵:A([行号],[列号]);(4)n阶单位阵:eye(n);n阶零矩阵:zeros(n);(5)做一个n维以0或1为元素的索引向量L,然后取A(:,L),L中值为1的对应的列将被取到。

第一次上机作业参考答案

第一次上机作业参考答案
if(sum==3)
{printf("%c did it!\n", thisman);
found=1;
break;
}
}
if(found==0)
printf("Not found!\n");
}
5.数字加密
输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:输入1257
输出The encrypted number is 4601
#include <stdio.h>
#include <stdio.h>
void main( )
{ int time1, time2, hours, mins;
scanf("%d%d", &time1, &time2);
mins=time2%100>time1%100?time2%100-time1%100:60+time2%100-time1%100;hours=time2%100>time1%100?time2/100-time1/100:time2/100-1-time1/100;printf("The train journey time is %d hrs %d mins.\n", hours, mins);}
第一次上机作业参考答案

1.大写字母转换成小写字母
从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G
输出g
#include <stdio.h>

电子科技大学数学实验第一次课上实验程序设计基础及答案

电子科技大学数学实验第一次课上实验程序设计基础及答案

第一部分 基础实验1 程序设计基础实验:直接搜索法,随机实验法1.1 基础训练1. 在 MATLAB 中用直接输入法建立如下两个矩阵⎪⎪⎭⎫ ⎝⎛=406573A ,⎪⎪⎭⎫ ⎝⎛=852034B ,然后增加矩阵B 的维数,使之成为3行3列的矩阵。

解:A = [3 7 5; 6 0 4] % 用直接法创建矩阵AB = [4 3 0;2 5 8] % 用直接法创建矩阵BB(3,3)=02. 分别对下列矩阵A,B 产生的两个矩阵作加、减、乘和除(左除,右除)运算,同时运用数组运算法则进行运算,比较二者的计算结果有何异同。

A=[1 2; 3 4];B=eye(2);A+BA-BA*B %矩阵乘法A.*B %数组乘法A/B %矩阵右除A./B %数组右除A\B %矩阵左除A.\B %数组左除3. 求矩阵 A 的转置和逆矩阵:⎪⎪⎪⎭⎫ ⎝⎛=520032304A .解:A=[ 4 0 3; 2 3 0; 0 2 5]A'inv(A)4. 将区间[0,52]上等间隔的取50个数据(含区间端点)赋给变量v ,并将v 的元素逆序排列赋给向量w.解:v=linspace(0,52,50);w=fliplr(v) % w = v(end:-1:1)或者:v=linspace(0,52,50);for i=1:50,w(i) = v(51-i);end5. 绘出t e y t sin 11.0-+=在区间[0,2π]上曲线。

解:t=0:0.1:2*pi;y=1+exp((-0.1)*t).*sin(t);plot(t,y,'r-');1.2 实验任务一. 实验任务请在区间]2,2[-上随机投点,求出85)(sin 2--=x x e x x f 在该区间上的最小值点. 提示:用代码42+-*rand 可以产生区间]2,2[-上的随机数.提示:充分发挥Matlab 的语法特色,考虑使用for 语句和不使用for 语句分别完成实验。

计算机软件基础上机实验报告

计算机软件基础上机实验报告

计算机软件基础上机实验报告实验目的:通过本次实验,掌握计算机软件的基本操作、基本编程概念以及实现方法,并能对实验结果进行分析和总结。

实验设备:计算机硬件平台和软件平台。

实验内容:1.学习使用计算机软件的基本操作。

2.学习使用计算机软件进行编程。

3.编写一个简单的计算机软件,并进行测试。

实验步骤:1.打开计算机软件,并学习基本的操作方法。

包括如何创建、保存和打开文件,如何设置字体、颜色和格式等。

2.学习基本的编程概念和语法,包括变量、函数、条件语句和循环语句等。

3.编写一个简单的计算机软件,并进行测试。

假设我们要编写一个求解一元二次方程的软件。

首先,定义一个函数来计算方程的根。

然后,在主函数中输入方程的系数,并调用函数进行计算。

最后,输出结果。

实验结果分析:通过本次实验,我学会了如何使用计算机软件进行操作和编程。

在编写一元二次方程求解软件的过程中,我遇到了一些问题,如如何处理方程无解和有多个解的情况等。

为了解决这些问题,我添加了对方程判别式的计算和判断逻辑,从而得到了正确的结果。

实验总结:本次实验让我更加深入地了解了计算机软件的基本操作和编程概念。

通过编写一个简单的计算机软件,我不仅巩固了所学的知识,还锻炼了分析和解决问题的能力。

在今后的学习和工作中,我将继续深入学习和应用计算机软件,为实现更多的功能和创造更大的价值做出贡献。

此外,我还意识到在软件开发过程中应注重错误处理和逻辑判断,确保软件的稳定性和可靠性。

以上是本次计算机软件基础上机实验的报告,通过本次实验,我对计算机软件的基本操作和编程有了更深入的了解,并在实践中掌握了一些基本的编程技巧和方法。

这将为我今后的学习和工作奠定坚实的基础。

软件技术基础上机作业

软件技术基础上机作业

1)实验项目简介:《软件技术基础实验》是与理论课程《软件技术基础》配套开出的,主要包含一个C程序部分的综合测试上机实验,和四个数据结构部分的基本上机实验,着重培养同学进行软件设计的基本能力。

2)实验内容:实验一:C程序设计综合上机实验 4学时实验目的:回顾C程序部分的相关知识,加强同学对指针、函数和结构体等的软件技术基础课程中需要大量使用的C语言知识的巩固和掌握。

实验内容:1、从键盘上输入5个同学的基本信息,包含同学的姓名(用拼音字母表示),班级,年龄,性别,身高。

把年龄最小的一个同学的信息同排在第一个位置的同学的信息交换,把年龄最大的一个同学的信息和最后一个元素交换,并将交换前后的结果打印出来。

2、已知一个班中5名同学的英语成绩为{88,76,83,89,86,80,62,85,74,87},平时成绩为{8,9,7,8,6,9,10,8,9,10},主函数中用C的指针分配函数:malloc()分配两块连续的存储单元存放以上的考试成绩和平时成绩,用一个函数计算该班同学的考试平均成绩和各同学的最终成绩(考试成绩+平均成绩),在主函数中将以上计算结果打印出来。

3、要求在主函数输入一串文字,并编写一个函数计算该文字串中的大写字母,小写字母,数字以及其它字符的个数,并在主函数中将文字串和以上计算结果打印出来。

本题选作。

实验要求:本实验是软件技术基础课程的第一次上机实验,要求同学从本次实验开始遵守以下基本实验要求:1)上机之前必须在书面编好以上程序;2)上机是在老师的指导下完成程序的编译、调试和测试;3)实验完成后完成实验报告。

实验二:顺序表基本操作上机实验 4学时实验目的:掌握顺序表的基本概念,基本操作和其C语言实现,同时进一步强化C程序设计的基本方法和能力。

实验内容:1、有序的一组整数{1,2,3,4,6},设计顺序表并实现以下操作:A.初始化线性表;B.添加上述一组数;C.删除第四个数据元素;D.显示B,C操作后的结果。

C++上机指导(第1次实验)

C++上机指导(第1次实验)

以下每题20分(加选作120分),课堂提交得满分,课后提交分数*0.71. 给一个百分制成绩,要求输出等级′A′、′B′、′C′、′D′、′E′。

90分以上为′A′,80~89分为′B′,70~79分为′C′,60~69分为′D′,60分以下为′E′。

(要求必须使用if-else结构)2. 编写一个简单计算器程序,输入格式为:data1 op data2。

其中data1 和data2 是参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。

(要求必须使用switch结构)3. 用for语句求1+2+3+4+……+50的和。

4.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

(如153=13+53+33)(要求使用三重循环)5. 找出一个3×3矩阵(在程序内初始化)中最大的元素输出其值及所在行列位置,要求先输出矩阵,再输出最大的元素输出其值及所在行列位置。

思路:遍历数组各元素,发现遇到过的最大的元素就记录其值和行、列位置,直至数组遍历结束,则记录为所求。

6.[选做]编写一个程序实现:将两个字符串连接起来,结果存在第一个字符串中。

要求:使用字符数组,不用strcat函数或string类型变量思路:找到第一个字符数组\0的位置,从这个位置开始把第二个字符数组的各字符依次拷入,最后加\0结束。

注意数组1要足够长。

下课前提交源程序,提交方法:(1)在D盘建立以自己学号和姓名命名的文件夹,如“08080506张杉”(注意学号在前姓名在后,中间没有空格)(2)将各题的源程序文件拷入该文件夹,源程序按题号命名,如“1.c”、“2.c”(3)右键点击该文件夹,将之打包为rar压缩文件,如“08080506张杉.rar”(4)将该rar压缩文件上传至教师FTP服务器。

软件工程第一次上机

软件工程第一次上机

软件工程第一次上机对于学习软件工程的学生来说,第一次上机是一次令人期待又充满挑战的经历。

那是我们从理论走向实践的第一步,也是我们真正接触代码世界的开端。

记得那一天,怀着紧张与兴奋的心情,我早早来到了机房。

机房里弥漫着一种特殊的氛围,电脑整齐排列,屏幕的微光映照着同学们略带期待的脸庞。

找到自己的座位坐下后,我迫不及待地打开电脑,准备迎接即将到来的挑战。

老师走进机房,开始为我们讲解本次上机的任务和要求。

这次的任务主要是熟悉编程环境,掌握基本的代码编写和调试技巧。

对于从未真正动手写过代码的我来说,这无疑是一个巨大的挑战。

老师演示完之后,就轮到我们自己动手操作了。

我打开编程软件,按照老师的指导,开始创建我的第一个项目。

然而,一开始就遇到了问题,我不知道如何正确地设置项目的参数,手忙脚乱地在菜单中寻找着相关选项。

旁边的同学似乎也遇到了同样的困惑,我们互相看了一眼,无奈地笑了笑,然后继续埋头研究。

经过一番摸索,终于成功创建了项目。

接下来就是编写代码了。

看着屏幕上空白的代码编辑区,我感到有些无从下手。

这时,我想起了课堂上学过的基础知识,开始慢慢地敲下一行行代码。

每敲下一个字符,心中都充满了期待,希望这段代码能够顺利运行。

但是,事情往往没有那么顺利。

当我满怀信心地点击运行按钮时,却弹出了一堆错误提示。

看着那些密密麻麻的错误信息,我瞬间感到一阵沮丧。

不过,我告诉自己不能轻易放弃,于是开始认真地分析错误原因。

有的错误是因为语法错误,少了一个分号或者括号不匹配;有的是逻辑错误,算法的实现没有达到预期的效果。

我对照着错误提示,一行一行地检查代码,修改错误。

这个过程就像是在解谜,每解决一个错误,都有一种小小的成就感。

在解决错误的过程中,我也向周围的同学请教。

大家互相交流,分享自己的经验和方法。

有的同学已经顺利地完成了任务,他们热心地帮助还在困惑中的同学。

在这种互帮互助的氛围中,我感受到了团队合作的力量。

经过不断地尝试和修改,我的代码终于成功运行了。

2011年秋季学期《数学建模及数学软件1》上机训练任务分工

2011年秋季学期《数学建模及数学软件1》上机训练任务分工

8
63
09500119 张宏文
信息与计算科学 09 级 01 班
0
9
62
09500120 孙继锋
信息与计算科学 09 级 01 班
0
10
61
09500121 田富华
信息与计算科学 09 级 01 班
0
11
60
09500122 赵克己
信息与计算科学 09 级 01 班
0
12
59
09500123 权蕴鹏
4 题 求函数 f(x,y,z)=x^4+sin(y)­cos(z)在点(0,5,4)附近的极小值。求在[0,5]上求函数 f(x)=sin2x+(x­3)^2­1 的最
值。求方程 x=cos(x)^2 在 1 附近的根。编写一个某数学软件程序,画出下列分段函数所表示的曲面。
ì0.54e-0.75 x2 -3.75 y2 -1.5 y
信息与计算科学 09 级 02 班
0
31
40
09500214 赵东生
信息与计算科学 09 级 02 班
0
32
39
09500215 狄正峰
信息与计算科学 09 级 02 班
0
33
38
09500216 余亚强
信息与计算科学 09 级 02 班
0
34
37
09500217
谢翔
信息与计算科学 09 级 02 班
0
17
54
09500128 赵志鹏
信息与计算科学 09 级 01 班
0
18
53
09500129 禹认真
信息与计算科学 09 级 01 班
0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数学软件与实验第一次上机作业上机时间:2013-4-10 地点:E204班级:071111 学号:07111014 姓名:曹红兴xdhjtang@学号、姓名、MATLAB、第一次作业1.计算三角形三边分别为a,b,c中c边对应内角的角度>> a = 3; b = 3; c = 3;>> acos((a^2+b^2-c^2)/2/a/b) *180/pians =60.0000>> a = 3; b = 4; c = 5;>> acos((a^2+b^2-c^2)/2/a/b) *180/pians =90>> a = 3; b = 4; c = 20;>> acos((a^2+b^2-c^2)/2/a/b) *180/pians =1.8000e+002 -1.9715e+002i2.试分别生成5 阶的单位阵、8 阶均匀分布的随机矩阵及其下三角矩阵,要求矩阵元素为介于10~99之间整数>> C=eye(5,5)C =1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1>> N=randsrc(8,8,[10:99])N =59 21 72 34 19 76 25 5266 28 54 28 22 15 45 6812 23 58 60 24 87 22 1265 27 50 67 65 94 12 8542 13 21 47 61 98 94 6014 67 54 28 14 87 37 8654 35 86 95 93 80 36 4127 58 88 17 75 56 39 50>> Z=tril(N)Z =83 0 0 0 0 0 0 091 96 0 0 0 0 0 021 24 81 0 0 0 0 092 97 96 45 0 0 0 066 96 69 68 72 0 0 018 53 13 25 38 54 0 035 82 86 73 95 50 20 059 22 94 12 13 68 54 723.生产列向量x=[1, 3, 10, 15, 20, 25, 30, 35, 40] >> x=[1;3;10;15;20;25;30;35;40]x =13101520253035404.生成以x 的元素为对角线的矩阵A,并输出A 的行数>> A=diag(x)a=length(A)A =1 0 0 0 0 0 0 0 00 3 0 0 0 0 0 0 00 0 10 0 0 0 0 0 00 0 0 15 0 0 0 0 00 0 0 0 20 0 0 0 00 0 0 0 0 25 0 0 00 0 0 0 0 0 30 0 00 0 0 0 0 0 0 35 00 0 0 0 0 0 0 0 40a =95.生成一个与A 同阶的正态分布的随机矩阵B, 要求B矩阵元素为介于0~99之间整数>> B=round(0+rand(9)*(99-0))B =75 10 79 65 25 83 47 38 4674 82 19 16 50 25 35 56 139 69 48 12 69 81 82 8 3365 31 44 49 88 24 58 5 1617 94 64 95 95 92 54 53 7970 3 70 34 54 35 91 77 313 43 75 58 14 19 28 92 5227 38 27 22 15 25 75 13 165 76 67 74 25 61 75 56 606.输出A 与B 的乘积矩阵C>> C=A*B>> C=A*BC =5 996 10 89 30 50 82 7254 84 156 222 21 135 225 99 210660 410 330 730 240 100 620 290 770495 690 255 840 75 1485 135 1110 4351780 1520 420 360 880 660 160 20 1380300 2025 2250 1475 25 725 1925 125 13752940 300 2010 900 2670 180 **** **** 11701855 630 1610 455 665 1050 1855 2100 2102800 1440 3600 840 360 200 440 2080 30807.生成由A 与B 点乘得到的矩阵DD=A.*BD =5 0 0 0 0 0 0 0 00 84 0 0 0 0 0 0 00 0 330 0 0 0 0 0 00 0 0 840 0 0 0 0 00 0 0 0 880 0 0 0 00 0 0 0 0 725 0 0 00 0 0 0 0 02700 0 00 0 0 0 0 0 0 2100 00 0 0 0 0 0 0 0 30808.生成一个由D 的第8、4、2、5 行和第7、1、6、9、2 列组成的子矩阵 E>> E=D([8 4 2 5],[7 1 6 9 2])E =0 0 0 0 00 0 0 0 00 0 0 0 2460 0 0 0 09.求出矩阵E 的最大元素>> m=max(max(E))m =24610.计算的值>> 1.369^2+sin(7*pi/10)*sqrt(26.48)/2.9ans =3.309711.产生一个5阶魔术方阵,并执行如下操作:a)将矩阵的第2行3列元素赋值给变量cb)将由矩阵第2,3,4行第3,5列构成的子矩阵赋值给变量d>> Q=magic(5)c=Q(2,3)d=[Q(2:4,3),Q(2:4,5)]Q =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9c =7d =7 1613 2219 312.给出区间[0,1]上的6个等分点数据。

>> L=0:1/5:1L =0 0.2000 0.4000 0.6000 0.8000 1.000013.建立如下矩阵1)错误!未找到引用源。

2)错误!未找到引用源。

>> R=3.14*eye(6)R =3.1400 0 0 0 0 00 3.1400 0 0 0 00 0 3.1400 0 0 00 0 0 3.1400 0 00 0 0 0 3.1400 00 0 0 0 0 3.1400 >> A1=round(10+rand(6)*(10-10))A1(1,1)=0,A1(2,2)=0,A1(3,3)=0,A1(4,4)=0,A1(5,5)=0,A1(6,6)=0A=A1A1 =10 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 10A1 =0 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 10A1 =0 10 10 10 10 1010 0 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 10 A1 =0 10 10 10 10 1010 0 10 10 10 1010 10 0 10 10 1010 10 10 10 10 1010 10 10 10 10 1010 10 10 10 10 10 A1 =0 10 10 10 10 1010 0 10 10 10 1010 10 0 10 10 1010 10 10 0 10 1010 10 10 10 10 1010 10 10 10 10 10 A1 =0 10 10 10 10 1010 0 10 10 10 1010 10 0 10 10 1010 10 10 0 10 1010 10 10 10 0 1010 10 10 10 10 10 A1 =0 10 10 10 10 1010 0 10 10 10 1010 10 0 10 10 1010 10 10 0 10 1010 10 10 10 0 1010 10 10 10 10 0A =0 10 10 10 10 1010 0 10 10 10 1010 10 0 10 10 1010 10 10 0 10 1010 10 10 10 0 1010 10 10 10 10 014.已知函数错误!未找到引用源。

,计算f(-1), f(0.5), f(1.5)。

function y=f(x)n=length(x);for k=1:nif x(k)>=1y(k)=x(k)^2;elseif x(k)>=0y(k)=1;elsey(k)=x(k)+1;endend>> x=[-1,0.5,1.5] y=f(x)x =-1.0000 0.5000 1.5000y =0 1.0000 2.250015.用for-end循环语句求错误!未找到引用源。

和100!。

16.用while-end循环语句求不超过1000的偶数之和与奇数之和。

偶数之和:>> s=0;>> i=0;>> while i<=1000s=s+i;i=i+2;end>> ss =250500>>奇数之和:>> s=0;>> i=1;>> while i<=1000s=s+i;i=i+2;end>> ss =250000>>17.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。

例如,153是一个水仙花数,因为错误!未找到引用源。

班级学号姓名数学软件与实验-1。

相关文档
最新文档