- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机实习报告
趣味题
彩色的圆环:
分析图形可知,一共有n个同心圆,外面大圆n等分,然后从每个等分点作所有同心圆的两条切线。如果用极坐标表示,可以很容易求解切点,代码如下所示:
n=10; %同心圆数量
m=40; %等分点数
R=1; %外圆半径
s=0:0.01*pi:2*pi; %控制圆的光滑程度的极坐标角度
t=0:2*pi/m:2*pi; %等分点极坐标角度
x0=R*cos(t);y0=R*sin(t); %等分点直角坐标
color=[b,r,c,g,m,y]; %画图颜色
lc=length(color); %颜色数量长度,超出后从头开始
for i=1:n %开始同心圆循环
r=R/n*i; %当前同心圆半径
a=acos(r/R); %切线与圆心线角度(弧度制)
x1=r*cos(t-a);y1=r*sin(t-a); %任意等分点相对当前同心圆的第一个切点
x2=r*cos(t+a);y2=r*sin(t+a); %任意等分点相对当前同心圆的第二个切点
plot(r*cos(s),r*sin(s),color(mod(i,lc)+1));hold on; %画同心圆
for j=1:m %对每一个等分点循环 plot([x0(j),x1(j)],[y0(j),y1(j)],color(mod(i,lc)+1));hold on;
%第一条切线
plot([x0(j),x2(j)],[y0(j),y2(j)],color(mod(i,lc)+1)); hold on;
%第二条切线
end
end
axsi equal; %横纵坐标比例一致
实验绘图结果如下图所示:
算法题
求无向图的最短路径(Dijkstra算法):
实验原理分析、原理及代码如下所示(此实验代码不仅包含了实验所要求的求带权无向图最短路径,我还拓展了求有向、无向、带权有向图最短路径的内容):
#includeiostream
#includeiomanip
using namespace std;
#define wuqiong 0
class tu
{
public:
int chazhao(int);//查找
void zjdingdian(int x);//增加顶点
tu();
void zengjia();//控制增加弧边和点
void zjhubian();//增加弧边
void bianli();//控制遍历
void shendu(int );//深度
void guangdu(int );//广度
void jindui(int );//进队列
int chudui();//出对了
bool pankong();//判空
//上面所有的函数与邻接矩阵有关
void zxgouzao();//初始化与最小路劲有关的东东
void zxshuchu();//求S中的最小路劲
private:
int kind; //类图;
int length; // 顶点个数
int *dingdian; //顶点
int *juzhen; //矩阵
int num;//最大顶点数目
int* visted;//访问情况
int *duilie;//模拟队列
int duichang;//队列长度
//上面所有的变量与邻接矩阵有关
int *s;//存放当前顶点
int slength;//当前顶点的长度
int* dist;//存放最小路劲
int* pre;//存放路劲;
int* final;//存放顶点
};
tu::tu()//初始化图
{
cout请输入图的种类1:有向.2:无向.3:带权有向.4:带权无向endl;//图的种类
cinkind;
cout请输入图的顶点数目endl;//为顶点赋值
cinnum;
dingdian = new int[num];//为顶点分配内存保存
juzhen = new int[num*num];//产生矩阵
if(kind==1||kind==2)//为无权图初始化矩阵
{
for(int i =0;inum*num;i++)
juzhen[i] = 0;
}
else//有权图初始化矩阵
{
for(int i =0;inum*num;i++)
juzhen[i] = wuqiong;
}
length = 0;
}
//增加顶点
void tu::zjdingdian(int x)
{
if(chazhao(x)!=-1||length==num)
cou
您可能关注的文档
- 物质跨膜运输方式课件剖析.ppt
- 文献信息资源检索与利用剖析.ppt
- 物质跨膜运输方式剖析.ppt
- 文献研读李梵剖析.ppt
- 物质跨膜运输公开课剖析.ppt
- 文献阅读剖析.ppt
- 文献阅读与翻译hsy剖析.doc
- 文献综述的写作方法qilong剖析.ppt
- 文献综述格式参考模板剖析.doc
- 文献综述写法(大学生或研究生论文选题)剖析.ppt
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)