matlab程序设计作业.docx
- 文档编号:26726305
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:14
- 大小:622.82KB
matlab程序设计作业.docx
《matlab程序设计作业.docx》由会员分享,可在线阅读,更多相关《matlab程序设计作业.docx(14页珍藏版)》请在冰豆网上搜索。
matlab程序设计作业
Matlab程序设计作业
姓 名:
学号:
专业:
《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=
0.4243
b=
1
d=
1.57087.8540
>>
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);
如有侵权请联系告知删除,感谢你们的配合!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 程序设计 作业