收藏 分销(赏)

课程设计一和二.doc

上传人:仙人****88 文档编号:5861913 上传时间:2024-11-21 格式:DOC 页数:4 大小:51KB
下载 相关 举报
课程设计一和二.doc_第1页
第1页 / 共4页
课程设计一和二.doc_第2页
第2页 / 共4页
课程设计一和二.doc_第3页
第3页 / 共4页
课程设计一和二.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、课程设计名称: 设计一: MATALB入门(基础篇) 指导教师: 张莉 课程设计时数: 2 课程设计设备:安装了Matlab、C+软件的计算机 课程设计日期: 实验地点: 第五教学楼北802 课程设计目的:掌握MATLAB的基本语法结构、工作环境、变量与数据操作等,能够利用MATLAB编程解决实际问题。课程设计准备:1. 在开始本实验之前,请回顾教科书的相关内容;2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。课程设计内容及要求 (1)编制m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示重入密码。 (2)输

2、入x,y的值,并将它们的值互换后输出。 (3) 利用rand产生10个随机数,利用for循环对其进行排序(从大到小)。 (4)编制m文件,输入n(正整数),显示所有小于n的质数。课程设计过程: 要求:设计过程必须包括问题叙述、问题分析、实验程序及注释、实验数据及结果分析和实验结论几个主要部分。(1)问题叙述:密码验证问题即事先设定一个字符串作为密码,编写程序需提醒用户输入密码,甚至密码的格式等,待用户输入密码后能够判断密码是否正确,如果正确显示输入密码正确,否则提示用户密码错误,请重新输入。问题分析:首先设定密码为123,待用户运行该程序时显示提示语“请输入密码;用if语句判断输入的字符串是否

3、与密码相等,如果相等则输出密码正确程序结束;否则提醒用户重新输入密码。实验程序及注释: code=123; %设定密码a=input(please enter the code n); %输入提示while a=code a=input(please enter again n); %输入错误请重新输入 end if a=code disp(the code is right); %输入正确 end实验数据及结果分析:在MATLAB命令窗口中输入密码,若输入123则提示用户输入密码正确,程序结束;若密码不正确(如输入456)则提示用户重新输入,当多次输入仍不正确时程序将不断循环,不断提示用户重

4、新输入密码,直到输入密码正确为止。(2)问题叙述及分析:该问题要求编写程序将两个变量的值进行交换,首先两个变量的数值从键盘输入,这样当不同用户要交换的值不同时避免了修改程序。主程序引入一个临时变量来交换两变量的值,最后输出两变量交换后的值。实验程序及注释:x=input(输入x的值n);y=input(输入y的值n);b=x; %将x的值赋给临时变量bx=y; %将y的值赋给xy=b; %将临时变量的值赋给yx,y实验数据及结果分析:由键盘输入x、y的值,如输入7、9,交换后输出的结果为x=9、y=7。(3)问题叙述:对随机产生的10个数按从大到小排序,编写程序需从第一个数开始逐一比较,一旦遇

5、到比自己大的数即进行交换,这样使小数排在大数后面。问题分析:程序利用两个for循环语句来实现10个数的排序,第一个for循环表明共进行9趟比较,即前9个数和它后面的数做比较,第二个for循环表明每趟比较中进行10-i次两两比较,即第一个数和它后面的所有数比较,第二到第九个数只和它们之后的数比较,若发现前面的数比后面的数小的情况则交换两数。实验程序及注释:a=rand(1,10);for i=1:1:10 %共进行9趟比较 for j=1:1:10-i %每趟中进行10-i次两两比较 if a(j)0.00001 %当误差大于0.00001时执行 x=0.5*(x0+a/x0); %迭代公式 e

6、r=abs(x-x0); x0=x; %数值解 n=n+1;endxsqrta=sqrt(a) %真实数值n,er实验数据及结果:设定迭代初始值为1,求出根号3的解为1.73205080756888,与真实值基本相等。该程序运行的迭代次数为5次,误差值为2.44585e-009小于0.00001,执行结果较好。改进的开方算法:在普通的开方算法中,我们设定初始值为1,但当需要开方的数比较大时,它的根显然是大于1的,所以在改进的开方算法中我们通过一个for循环来确定初始值,这样就减少了计算的时间。实验程序及注释:a=3;er=1;n=0; %定义一个计数器记录循环次数for i=1:a if(i*i0.00001 %当误差大于0.00001时执行 x=0.5*(x0+a/x0); %迭代公式 er=abs(x-x0); x0=x; %数值解 n=n+1;endxsqrta=sqrt(a) %真实数值n,er课程设计总结(由学生填写): 通过本次实验我掌握了开方的普通算法,经过在预报值上加上一个校正值来导出迭代公式,利用误差小于某一精度的条件来终止程序,这样最终得到一个较好的近似值。对于开方算法的改进方法,通过一个for循环语句来确定初始值,这样不仅减少了计算的时间复杂度还提高了求解结果的精度。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服