matlab程序设计作业Word文件下载.docx
《matlab程序设计作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《matlab程序设计作业Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
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、5708 7、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);
if mod(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(’thebest Yis —-->>
%5、2f\n’,bestfit);