预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

姓名: 学号: 专业: 《MATLAB程序设计》作业 1、考虑如下x-y一组实验数据: x=[1,2,3,4,5,6,7,8,9,10] y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2] 分别绘出plot的原始数据、一次拟合曲线和三次拟合曲线,给出MATLAB代码和运行结果。 原始曲线 一次拟合 三次拟合 x=[1,2,3,4,5,6,7,8,9,10]; y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2]; figure; plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure; plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x); figure; plot(x,y2) 2、在[0,3π]区间,绘制y=sin(x)曲线(要求消去负半波,即(π,2π)区间内的函数值置零),求出曲线y的平均值,以及y的最大值及其最大值的位置。给出执行代码和运行结果。 x=0:pi/1000:3*pi; y=sin(x); y1=(y>=0).*y;%消去负半波figure(1); plot(x,y1,'b'); a=mean(y1)%求出y1的平均值 b=max(y1)%求出y1的最大值b,以及最大值在矩阵中的位置; d=x(find(y1==b)) >>ex1 a= b= 1 d= >> 3、给出函数z=x^2+y^2的三维曲面的绘制结果和MATLAB代码, x=-3:0.1:3; y=-4:0.1:4; [x,y]=meshgrid(x,y); z=x.^2+y.^2; mesh(x,y,z); 4、将一幅彩色图像文件转换为灰度图像,存储并显示转换后的灰度图像,给出运行结果和执行代码。 x=imread('hehua.jpg'); x=rgb2gray(x); figure(1); imshow(x); h=figure(1); saveas(h,'gray.jpg'); 原图 处理后图像 5、结合自身研究方向,自拟一题目,采用MATLAB语言实现一具有完整功能的算法,给出运行结果和执行代码。 题目:用遗传算法找函数的最大值. functionmain() clear clc popsize=100;%种群大小 chromlength=10;%二进制编码长度 pc=0.6;%交叉概率 pm=0.001;%变异概率 pop=initpop(popsize,chromlength);%初始种群 fori=1:100 [objvalue]=cal_objvalue(pop);%计算适应度值(函数值) fitvalue=objvalue; [newpop]=selection(pop,fitvalue);%选择操作 [newpop]=crossover(newpop,pc);%交叉操作 [newpop]=mutation(newpop,pm);%变异操作 pop=newpop;%更新种群 [bestindividual,bestfit]=best(pop,fitvalue);%寻找最优解 x2=binary2decimal(bestindividual); x1=binary2decimal(newpop); [y1]=cal_objvalue(newpop); ifmod(i,10)==0 figure; fplot('10*sin(5*x)+7*abs(x-5)+10',[010]); holdon; title(['迭代次数为n='num2str(i)]); plot(x1,y1,'*'); end end fprintf('thebestXis--->>%5.2f\n',x2); fprintf('thebestYis--->>%5.2f\n',bestfit);