资源描述
Matlab程序设计作业姓 名: 学 号: 专 业: MATLAB程序设计作业1、考虑如下 x-y 一组实验数据:x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10y=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) ex1a = 0.4243b = 1d = 1.5708 7.85403、给出函数z=x2+y2的三维曲面的绘制结果和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语言实现一具有完整功能的算法,给出运行结果和执行代码。题目:用遗传算法找函数的最大值 .function main()clearclcpopsize = 100; %种群大小chromlength = 10; %二进制编码长度pc = 0.6; %交叉概率pm = 0.001; %变异概率pop = initpop(popsize,chromlength); %初始种群for i=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); if mod(i,10)=0 figure; fplot(10*sin(5*x)+7*abs(x-5)+10,0 10); hold on; title(迭代次数为 n= num2str(i); plot(x1,y1,*);endend fprintf(the best X is -%5.2fn,x2); fprintf(the best Y is -%5.2fn,bestfit);
展开阅读全文